p_table <- function(tab_data, ...) {
  tab_data_2 <- deparse(substitute(tab_data))
  
  table_p <- do.call(CreateTableOne, 
                     list(data = as.name(tab_data_2), includeNA = TRUE, ...))
  table_p_out <- print(table_p,
                       showAllLevels = TRUE,
                       printToggle = FALSE)
  kable(table_p_out,
        align = "c")
}
f_plot <- function(test_var, data_imp){

                
        cat("_________________________________________________")
        cat("\n")
        cat("   \n##", test_var)
        cat("\n")
        cat("_________________________________________________")
        cat("\n")

        
        f <- as.formula(paste(as.name(test_var),
                              "AGE + SEX + T_SIZE + FACILITY_TYPE_F + FACILITY_LOCATION_F + YEAR_OF_DIAGNOSIS",
                              sep = " ~ " ))
        
        data_imp_2 <- deparse(substitute(data_imp))
        
        fit_fn <- do.call("glm", 
                       list(formula = f, 
                            data = as.name(data_imp_2), 
                            family = "binomial"))
        
        print(summary(fit_fn))
        
        or <- as.data.frame(exp(coefficients(fit_fn)))
        or$Variable <- rownames(or)
        rownames(or) <- c()
        names(or) <- c('OddsRatio', 'Variable')

        ci <- as.data.frame(exp(confint(fit_fn)))
        ci$Variable <- rownames(ci)
        rownames(ci) <- c()

        p_val_list <- tidy(fit_fn) %>%
        select(term, p.value) %>%
        rename(Variable = term) %>%
        mutate(p.value = round(p.value, 4))
        p_val_list$p.value <- as.character(p_val_list$p.value)
        p_val_list$p.value[p_val_list$p.value == "0"] <- "< 0.0001"

        all <- full_join(or, ci, by = 'Variable')
        all <- full_join(all, p_val_list, by = "Variable")
        names(all) <- c('OddsRatio', 'Variable', 'Lower', 'Upper', "p_value")
        all <- na.omit(all)

        all <- all %>%
        filter(Variable != '(Intercept)') 

        text <- cbind(c("Variable", as.character(all$Variable)), 
              c("Odds Ratio", as.character(round(all$OddsRatio, 2))),
              c("Lower CI", as.character(round(all$Lower, 2))),
              c("Upper CI", as.character(round(all$Upper, 2))),
              c("p Value", all$p_value))

        forestplot(text, 
           mean = c(NA, all$OddsRatio), 
           lower = c(NA, all$Lower), 
           upper = c(NA, all$Upper), 
           new_page =   TRUE, zero = 1, 
           clip = c(0.1, 100),
           hrzl_lines = list("2" = gpar(col="#444444")),
           vertices = TRUE,
           graph.pos = 2,
           xlab = "Odds Ratio (log)",
           align = "c",
           txt_gp = fpTxtGp(cex = 0.7),
           xticks = getTicks(low = all$Lower,
                             high = all$Upper,
                             clip=c(-Inf, Inf),
                             exp=TRUE),
           boxsize = 0.1)
    
}

Extract data of interest

# EMPD
site_code <- c(
  #lip  
  "C000", "C001", "C002", "C003", "C004", "C005","C006", "C008","C009",
                                  
                                 
#skin/melanoma
  "C440", "C441", "C442", "C443", "C444", "C445", "C446", "C447", "C448", "C449",
                                 
 #breast - nipple
  "C500",
                                 
#vagina/vulva
  "C510", "C511", "C512", "C518", "C519", "C529",
                                 
#penis
 "C600", "C601", "C602", "C608", "C609", "C639")
histo_code <- c("8542")
behavior_code <- c("3")
data <- dat %>%
        filter(BEHAVIOR %in% behavior_code) %>%
        filter(PRIMARY_SITE %in% site_code) %>%
        filter(HISTOLOGY %in% histo_code) %>%
#        filter(AGE >= 18) %>%
        filter(is.na(PUF_VITAL_STATUS) == FALSE) %>%
        filter(is.na(DX_LASTCONTACT_DEATH_MONTHS) == FALSE) %>%
#        filter(TNM_CLIN_M %in% c("c0")) %>%
        filter(SEQUENCE_NUMBER == "00") 
#%>%
#        filter(CLASS_OF_CASE %in% c("10", "12", "14", "22")) %>%
#        filter(INSURANCE_STATUS %in% c("0", "1", "2", "3", "4"))
file_path <- c("/Users/beastatlife/Google Drive/Penn/Research/Barbieri/NCDB")
save(data,
      file = paste0(file_path, "/EMPD_data.Rda"))
load("EMPD_data.Rda")

Data including skin tumors was obtained from the NCBD on October 7, 2019. Cases that were included in this analysis were those with:

  1. Site codes: C000, C001, C002, C003, C004, C005, C006, C008, C009, C440, C441, C442, C443, C444, C445, C446, C447, C448, C449, C500, C510, C511, C512, C518, C519, C529, C600, C601, C602, C608, C609, C639
  2. Histology codes: 9700, 9701, 9708, 9709, 9718, 9719, 9726, 9727
  3. Behavior codes: 3

Patients were excluded if they didn’t have values for either follow up or vital status.

Patients were excluded if they had surgery to a distant site using RX_SUMM_SURG_OTH_REGDIS. This was done to avoid confounding of different surgical procedures. We are only interested in surgery at the primary site. These distant site surgeries were being counted in the surgery/radiation sequence and thus to simplify analysis they were removed.

data %>%
        CreateTableOne(data = .,
                     vars = c("RX_SUMM_SURG_OTH_REGDIS"),
                     includeNA = TRUE) %>%
        print(.,
              showAllLevels = TRUE)
                             
                              level Overall     
  n                                 1400        
  RX_SUMM_SURG_OTH_REGDIS (%) 0     1361 (97.2) 
                              1        4 ( 0.3) 
                              2       16 ( 1.1) 
                              3        1 ( 0.1) 
                              4        0 ( 0.0) 
                              5        0 ( 0.0) 
                              9       18 ( 1.3) 
data <- data %>%
        filter(RX_SUMM_SURG_OTH_REGDIS == "0") 

Race was grouped as white, black, asian, other/unknown Stage was grouped into 0, I, II, III, IV, NA_Unknown, stage 0 was removed Whether surgery was performed was based on the REASON_FOR_NO_SURGERY variable. The SURGERY_YN variable was classified as ‘Yes’, ‘No’, or ‘Unknown’.

Whether radiation was performed was based on the REASON_FOR_NO_RADIATION variable. The RADIATION_YN variable was classified as ‘Yes’, ‘No’, or ‘Unknown’.

Table of variables for all cases:

Table of variables for all cases:

p_table(data,
        vars = c("FACILITY_TYPE_F", "FACILITY_LOCATION_F", "FACILITY_GEOGRAPHY",  "AGE", "AGE_F", "AGE_40",
                 "SEX_F", "RACE_F", "HISPANIC", "INSURANCE_F", 
                 "INCOME_F", "EDUCATION_F", "U_R_F", "CROWFLY", "CDCC_TOTAL_BEST",
                 "SITE_TEXT", "HISTOLOGY_F_LIM", "HISTOLOGY_F", "BEHAVIOR", "GRADE_F",
                 "DX_STAGING_PROC_DAYS", "TNM_CLIN_T", "TNM_CLIN_N", "TNM_CLIN_M",
                 "TNM_CLIN_STAGE_GROUP", "TNM_PATH_T", "TNM_PATH_N", "TNM_PATH_M",
                 "TNM_PATH_STAGE_GROUP", "DX_RX_STARTED_DAYS", "DX_SURG_STARTED_DAYS",
                 "DX_DEFSURG_STARTED_DAYS", "MARGINS", "MARGINS_YN", "SURG_DISCHARGE_DAYS",
                 "READM_HOSP_30_DAYS_F", "RX_SUMM_RADIATION_F", "PUF_30_DAY_MORT_CD_F",
                 "PUF_90_DAY_MORT_CD_F", "DX_LASTCONTACT_DEATH_MONTHS", 
                 "LYMPH_VASCULAR_INVASION_F", "RX_HOSP_SURG_APPR_2010_F", "SURG_RAD_SEQ",
                 "SURG_RAD_SEQ_C", "SURGERY_YN", "RADIATION_YN", "CHEMO_YN", "mets_at_dx",
                 "MEDICAID_EXPN_CODE", "EXPN_GROUP", "SITE_TEXT"))
The data frame does not have: SITE_TEXT.1  Dropped

level Overall
n 1361
FACILITY_TYPE_F (%) Community Cancer Program 31 ( 2.3)
Comprehensive Comm Ca Program 462 ( 33.9)
Academic/Research Program 654 ( 48.1)
Integrated Network Ca Program 200 ( 14.7)
NA 14 ( 1.0)
FACILITY_LOCATION_F (%) New England 59 ( 4.3)
Middle Atlantic 231 ( 17.0)
South Atlantic 256 ( 18.8)
East North Central 222 ( 16.3)
East South Central 89 ( 6.5)
West North Central 141 ( 10.4)
West South Central 99 ( 7.3)
Mountain 79 ( 5.8)
Pacific 171 ( 12.6)
NA 14 ( 1.0)
FACILITY_GEOGRAPHY (%) Northeast 290 ( 21.3)
South 355 ( 26.1)
Midwest 452 ( 33.2)
West 250 ( 18.4)
NA 14 ( 1.0)
AGE (mean (sd)) 70.50 (11.88)
AGE_F (%) (0,54] 145 ( 10.7)
(54,64] 254 ( 18.7)
(64,74] 421 ( 30.9)
(74,100] 541 ( 39.8)
AGE_40 (%) (0,40] 18 ( 1.3)
(40,100] 1343 ( 98.7)
SEX_F (%) Male 261 ( 19.2)
Female 1100 ( 80.8)
RACE_F (%) White 1230 ( 90.4)
Black 25 ( 1.8)
Other/Unk 35 ( 2.6)
Asian 71 ( 5.2)
HISPANIC (%) No 1235 ( 90.7)
Yes 52 ( 3.8)
Unknown 74 ( 5.4)
INSURANCE_F (%) Private 454 ( 33.4)
None 23 ( 1.7)
Medicaid 22 ( 1.6)
Medicare 838 ( 61.6)
Other Government 8 ( 0.6)
Unknown 16 ( 1.2)
INCOME_F (%) Less than $38,000 165 ( 12.1)
$38,000 - $47,999 327 ( 24.0)
$48,000 - $62,999 365 ( 26.8)
$63,000 + 499 ( 36.7)
NA 5 ( 0.4)
EDUCATION_F (%) 21% or more 168 ( 12.3)
13 - 20.9% 320 ( 23.5)
7 - 12.9% 465 ( 34.2)
Less than 7% 403 ( 29.6)
NA 5 ( 0.4)
U_R_F (%) Metro 1107 ( 81.3)
Urban 187 ( 13.7)
Rural 27 ( 2.0)
NA 40 ( 2.9)
CROWFLY (mean (sd)) 41.13 (124.38)
CDCC_TOTAL_BEST (%) 0 1107 ( 81.3)
1 198 ( 14.5)
2 40 ( 2.9)
3 16 ( 1.2)
SITE_TEXT (%) C00.0 External Lip: Upper NOS 0 ( 0.0)
C00.1 External Lip: Lower NOS 0 ( 0.0)
C00.2 External Lip: NOS 0 ( 0.0)
C00.3 Lip: Upper Mucosa 0 ( 0.0)
C00.4 Lip: Lower Mucosa 0 ( 0.0)
C00.5 Lip: Mucosa NOS 0 ( 0.0)
C00.6 Lip: Commissure 0 ( 0.0)
C00.8 Lip: Overlapping 0 ( 0.0)
C00.9 Lip, NOS 0 ( 0.0)
C44.0 Skin of lip, NOS 0 ( 0.0)
C44.1 Eyelid 0 ( 0.0)
C44.2 External ear 2 ( 0.1)
C44.3 Skin of ear and unspecified parts of face 2 ( 0.1)
C44.4 Skin of scalp and neck 3 ( 0.2)
C44.5 Skin of trunk 287 ( 21.1)
C44.6 Skin of upper limb and shoulder 7 ( 0.5)
C44.7 Skin of lower limb and hip 12 ( 0.9)
C44.8 Overlapping lesion of skin 11 ( 0.8)
C44.9 Skin, NOS 19 ( 1.4)
C50.0 Nipple 1 ( 0.1)
C51.0 Labium majus 92 ( 6.8)
C51.1 Labium minus 15 ( 1.1)
C51.2 Clitoris 2 ( 0.1)
C51.8 Overlapping lesion of vulva 60 ( 4.4)
C51.9 Vulva, NOS 822 ( 60.4)
C52.9 Vagina, NOS 1 ( 0.1)
C60.0 Prepuce 0 ( 0.0)
C60.1 Glans penis 0 ( 0.0)
C60.2 Body of penis 1 ( 0.1)
C60.8 Overlapping lesion of penis 2 ( 0.1)
C60.9 Penis 22 ( 1.6)
HISTOLOGY_F_LIM (%) 8500 0 ( 0.0)
8720 0 ( 0.0)
8520 0 ( 0.0)
Other 1361 (100.0)
HISTOLOGY_F (%) 8500 0 ( 0.0)
8720 0 ( 0.0)
8520 0 ( 0.0)
8523 0 ( 0.0)
9680 0 ( 0.0)
8743 0 ( 0.0)
8522 0 ( 0.0)
8070 0 ( 0.0)
8742 0 ( 0.0)
8201 0 ( 0.0)
8501 0 ( 0.0)
8721 0 ( 0.0)
8480 0 ( 0.0)
9663 0 ( 0.0)
8230 0 ( 0.0)
9690 0 ( 0.0)
9591 0 ( 0.0)
8010 0 ( 0.0)
9691 0 ( 0.0)
9650 0 ( 0.0)
9695 0 ( 0.0)
9673 0 ( 0.0)
8140 0 ( 0.0)
9699 0 ( 0.0)
8247 0 ( 0.0)
8507 0 ( 0.0)
9698 0 ( 0.0)
8211 0 ( 0.0)
9823 0 ( 0.0)
8071 0 ( 0.0)
8503 0 ( 0.0)
9670 0 ( 0.0)
9590 0 ( 0.0)
8050 0 ( 0.0)
8530 0 ( 0.0)
8575 0 ( 0.0)
9702 0 ( 0.0)
8524 0 ( 0.0)
9652 0 ( 0.0)
9687 0 ( 0.0)
8000 0 ( 0.0)
8832 0 ( 0.0)
8745 0 ( 0.0)
8744 0 ( 0.0)
8772 0 ( 0.0)
9714 0 ( 0.0)
8401 0 ( 0.0)
8510 0 ( 0.0)
9689 0 ( 0.0)
9659 0 ( 0.0)
9705 0 ( 0.0)
8542 1361 (100.0)
9671 0 ( 0.0)
9020 0 ( 0.0)
8521 0 ( 0.0)
8410 0 ( 0.0)
8504 0 ( 0.0)
8543 0 ( 0.0)
8541 0 ( 0.0)
9651 0 ( 0.0)
9120 0 ( 0.0)
8200 0 ( 0.0)
8540 0 ( 0.0)
8090 0 ( 0.0)
9596 0 ( 0.0)
8730 0 ( 0.0)
8723 0 ( 0.0)
9837 0 ( 0.0)
8255 0 ( 0.0)
8072 0 ( 0.0)
8051 0 ( 0.0)
8830 0 ( 0.0)
8890 0 ( 0.0)
8771 0 ( 0.0)
9665 0 ( 0.0)
8770 0 ( 0.0)
8083 0 ( 0.0)
8761 0 ( 0.0)
8409 0 ( 0.0)
9729 0 ( 0.0)
9684 0 ( 0.0)
9653 0 ( 0.0)
8246 0 ( 0.0)
8081 0 ( 0.0)
9667 0 ( 0.0)
8390 0 ( 0.0)
8022 0 ( 0.0)
8560 0 ( 0.0)
8407 0 ( 0.0)
8413 0 ( 0.0)
8980 0 ( 0.0)
8076 0 ( 0.0)
8260 0 ( 0.0)
9727 0 ( 0.0)
8490 0 ( 0.0)
8097 0 ( 0.0)
8740 0 ( 0.0)
8032 0 ( 0.0)
8800 0 ( 0.0)
8481 0 ( 0.0)
8402 0 ( 0.0)
9735 0 ( 0.0)
9679 0 ( 0.0)
9811 0 ( 0.0)
8802 0 ( 0.0)
8041 0 ( 0.0)
9675 0 ( 0.0)
8310 0 ( 0.0)
8513 0 ( 0.0)
8052 0 ( 0.0)
8033 0 ( 0.0)
8400 0 ( 0.0)
9716 0 ( 0.0)
8343 0 ( 0.0)
8801 0 ( 0.0)
9827 0 ( 0.0)
8574 0 ( 0.0)
8323 0 ( 0.0)
8408 0 ( 0.0)
8380 0 ( 0.0)
8074 0 ( 0.0)
9719 0 ( 0.0)
8046 0 ( 0.0)
8502 0 ( 0.0)
8430 0 ( 0.0)
9664 0 ( 0.0)
8094 0 ( 0.0)
9728 0 ( 0.0)
8572 0 ( 0.0)
8746 0 ( 0.0)
8982 0 ( 0.0)
8833 0 ( 0.0)
8570 0 ( 0.0)
8573 0 ( 0.0)
8123 0 ( 0.0)
8403 0 ( 0.0)
9678 0 ( 0.0)
8525 0 ( 0.0)
8722 0 ( 0.0)
8020 0 ( 0.0)
9738 0 ( 0.0)
8804 0 ( 0.0)
8021 0 ( 0.0)
8141 0 ( 0.0)
8550 0 ( 0.0)
8811 0 ( 0.0)
8315 0 ( 0.0)
8810 0 ( 0.0)
8075 0 ( 0.0)
8940 0 ( 0.0)
8012 0 ( 0.0)
8805 0 ( 0.0)
8143 0 ( 0.0)
8780 0 ( 0.0)
9717 0 ( 0.0)
8910 0 ( 0.0)
9180 0 ( 0.0)
8935 0 ( 0.0)
8147 0 ( 0.0)
8013 0 ( 0.0)
8460 0 ( 0.0)
8091 0 ( 0.0)
8120 0 ( 0.0)
8092 0 ( 0.0)
8240 0 ( 0.0)
8512 0 ( 0.0)
8854 0 ( 0.0)
9655 0 ( 0.0)
8073 0 ( 0.0)
8850 0 ( 0.0)
8571 0 ( 0.0)
9709 0 ( 0.0)
8891 0 ( 0.0)
9580 0 ( 0.0)
8035 0 ( 0.0)
8453 0 ( 0.0)
8950 0 ( 0.0)
8562 0 ( 0.0)
8441 0 ( 0.0)
9737 0 ( 0.0)
8852 0 ( 0.0)
9708 0 ( 0.0)
8851 0 ( 0.0)
9540 0 ( 0.0)
8082 0 ( 0.0)
8420 0 ( 0.0)
8249 0 ( 0.0)
8741 0 ( 0.0)
8004 0 ( 0.0)
9724 0 ( 0.0)
8077 0 ( 0.0)
9718 0 ( 0.0)
8920 0 ( 0.0)
8983 0 ( 0.0)
9260 0 ( 0.0)
9700 0 ( 0.0)
8001 0 ( 0.0)
8508 0 ( 0.0)
9133 0 ( 0.0)
8080 0 ( 0.0)
8900 0 ( 0.0)
9044 0 ( 0.0)
8098 0 ( 0.0)
8084 0 ( 0.0)
8341 0 ( 0.0)
9071 0 ( 0.0)
8005 0 ( 0.0)
8144 0 ( 0.0)
8210 0 ( 0.0)
8896 0 ( 0.0)
8933 0 ( 0.0)
8963 0 ( 0.0)
8154 0 ( 0.0)
9220 0 ( 0.0)
8711 0 ( 0.0)
8894 0 ( 0.0)
8045 0 ( 0.0)
9654 0 ( 0.0)
8320 0 ( 0.0)
8514 0 ( 0.0)
8815 0 ( 0.0)
9473 0 ( 0.0)
8440 0 ( 0.0)
8803 0 ( 0.0)
8840 0 ( 0.0)
9130 0 ( 0.0)
9150 0 ( 0.0)
9701 0 ( 0.0)
8031 0 ( 0.0)
8130 0 ( 0.0)
8314 0 ( 0.0)
8858 0 ( 0.0)
9812 0 ( 0.0)
8124 0 ( 0.0)
8263 0 ( 0.0)
8470 0 ( 0.0)
9040 0 ( 0.0)
9560 0 ( 0.0)
8243 0 ( 0.0)
8450 0 ( 0.0)
8030 0 ( 0.0)
8078 0 ( 0.0)
8190 0 ( 0.0)
8251 0 ( 0.0)
8406 0 ( 0.0)
9100 0 ( 0.0)
8290 0 ( 0.0)
8461 0 ( 0.0)
8774 0 ( 0.0)
8901 0 ( 0.0)
8936 0 ( 0.0)
8093 0 ( 0.0)
8102 0 ( 0.0)
8148 0 ( 0.0)
8825 0 ( 0.0)
8931 0 ( 0.0)
8951 0 ( 0.0)
9364 0 ( 0.0)
9597 0 ( 0.0)
9662 0 ( 0.0)
8261 0 ( 0.0)
8384 0 ( 0.0)
8773 0 ( 0.0)
9041 0 ( 0.0)
9110 0 ( 0.0)
8011 0 ( 0.0)
8110 0 ( 0.0)
8344 0 ( 0.0)
8452 0 ( 0.0)
8806 0 ( 0.0)
9170 0 ( 0.0)
9231 0 ( 0.0)
9726 0 ( 0.0)
9814 0 ( 0.0)
9816 0 ( 0.0)
9817 0 ( 0.0)
8014 0 ( 0.0)
8095 0 ( 0.0)
8340 0 ( 0.0)
8482 0 ( 0.0)
8726 0 ( 0.0)
8835 0 ( 0.0)
8855 0 ( 0.0)
8902 0 ( 0.0)
8912 0 ( 0.0)
8930 0 ( 0.0)
9181 0 ( 0.0)
9813 0 ( 0.0)
9815 0 ( 0.0)
8015 0 ( 0.0)
8042 0 ( 0.0)
8053 0 ( 0.0)
8170 0 ( 0.0)
8252 0 ( 0.0)
8253 0 ( 0.0)
8262 0 ( 0.0)
8620 0 ( 0.0)
8710 0 ( 0.0)
8760 0 ( 0.0)
8836 0 ( 0.0)
8895 0 ( 0.0)
9043 0 ( 0.0)
9182 0 ( 0.0)
9240 0 ( 0.0)
9561 0 ( 0.0)
9581 0 ( 0.0)
9661 0 ( 0.0)
9818 0 ( 0.0)
8003 0 ( 0.0)
8100 0 ( 0.0)
8121 0 ( 0.0)
8131 0 ( 0.0)
8145 0 ( 0.0)
8150 0 ( 0.0)
8231 0 ( 0.0)
8245 0 ( 0.0)
8270 0 ( 0.0)
8312 0 ( 0.0)
8313 0 ( 0.0)
8319 0 ( 0.0)
8332 0 ( 0.0)
8347 0 ( 0.0)
8350 0 ( 0.0)
8471 0 ( 0.0)
8576 0 ( 0.0)
8583 0 ( 0.0)
8700 0 ( 0.0)
8750 0 ( 0.0)
8823 0 ( 0.0)
8831 0 ( 0.0)
8853 0 ( 0.0)
8941 0 ( 0.0)
8990 0 ( 0.0)
9000 0 ( 0.0)
9061 0 ( 0.0)
9064 0 ( 0.0)
9080 0 ( 0.0)
9085 0 ( 0.0)
9102 0 ( 0.0)
9105 0 ( 0.0)
9183 0 ( 0.0)
9186 0 ( 0.0)
9251 0 ( 0.0)
9370 0 ( 0.0)
9371 0 ( 0.0)
9451 0 ( 0.0)
9530 0 ( 0.0)
BEHAVIOR (%) 2 0 ( 0.0)
3 1361 (100.0)
GRADE_F (%) Gr I: Well Diff 38 ( 2.8)
Gr II: Mod Diff 30 ( 2.2)
Gr III: Poor Diff 36 ( 2.6)
Gr IV: Undiff/Anaplastic 0 ( 0.0)
5 0 ( 0.0)
6 0 ( 0.0)
7 0 ( 0.0)
8 0 ( 0.0)
NA/Unkown 1257 ( 92.4)
DX_STAGING_PROC_DAYS (mean (sd)) 1.96 (14.27)
TNM_CLIN_T (%) N_A 1 ( 0.1)
c0 6 ( 0.4)
c1 139 ( 10.2)
c1A 148 ( 10.9)
c1B 138 ( 10.1)
c1C 0 ( 0.0)
c1MI 0 ( 0.0)
c2 176 ( 12.9)
c2A 0 ( 0.0)
c2B 0 ( 0.0)
c2C 0 ( 0.0)
c3 25 ( 1.8)
c3A 0 ( 0.0)
c3B 0 ( 0.0)
c4 1 ( 0.1)
c4A 0 ( 0.0)
c4B 0 ( 0.0)
c4C 0 ( 0.0)
c4D 0 ( 0.0)
cX 625 ( 45.9)
pA 0 ( 0.0)
pIS 29 ( 2.1)
NA 73 ( 5.4)
TNM_CLIN_N (%) N_A 1 ( 0.1)
c0 873 ( 64.1)
c1 4 ( 0.3)
c1A 0 ( 0.0)
c1B 0 ( 0.0)
c2 4 ( 0.3)
c2A 0 ( 0.0)
c2B 3 ( 0.2)
c2C 1 ( 0.1)
c3 0 ( 0.0)
c3A 0 ( 0.0)
c3B 0 ( 0.0)
c3C 0 ( 0.0)
cX 412 ( 30.3)
NA 63 ( 4.6)
TNM_CLIN_M (%) N_A 1 ( 0.1)
c0 1249 ( 91.8)
c0I+ 0 ( 0.0)
c1 11 ( 0.8)
c1A 0 ( 0.0)
c1B 0 ( 0.0)
c1C 0 ( 0.0)
NA 100 ( 7.3)
TNM_CLIN_STAGE_GROUP (%) 0 65 ( 4.8)
1 196 ( 14.4)
1A 109 ( 8.0)
1B 119 ( 8.7)
1C 0 ( 0.0)
2 184 ( 13.5)
2A 0 ( 0.0)
2B 0 ( 0.0)
2C 0 ( 0.0)
3 15 ( 1.1)
3A 0 ( 0.0)
3B 1 ( 0.1)
3C 0 ( 0.0)
4 9 ( 0.7)
4A 2 ( 0.1)
4B 5 ( 0.4)
4C 0 ( 0.0)
N_A 1 ( 0.1)
99 655 ( 48.1)
TNM_PATH_T (%) N_A 1 ( 0.1)
p0 9 ( 0.7)
p1 98 ( 7.2)
p1A 147 ( 10.8)
p1B 157 ( 11.5)
p1C 0 ( 0.0)
p1MI 0 ( 0.0)
p2 144 ( 10.6)
p2A 0 ( 0.0)
p2B 0 ( 0.0)
p3 22 ( 1.6)
p3A 0 ( 0.0)
p3B 0 ( 0.0)
p4 1 ( 0.1)
p4A 0 ( 0.0)
p4B 0 ( 0.0)
p4C 0 ( 0.0)
p4D 0 ( 0.0)
pA 0 ( 0.0)
pIS 23 ( 1.7)
pX 602 ( 44.2)
NA 157 ( 11.5)
TNM_PATH_N (%) N_A 1 ( 0.1)
p0 282 ( 20.7)
p0I- 0 ( 0.0)
p0I+ 0 ( 0.0)
p0M- 0 ( 0.0)
p0M+ 0 ( 0.0)
p1 9 ( 0.7)
p1A 1 ( 0.1)
p1B 1 ( 0.1)
p1C 0 ( 0.0)
p1MI 0 ( 0.0)
p2 1 ( 0.1)
p2A 0 ( 0.0)
p2B 1 ( 0.1)
p2C 6 ( 0.4)
p3 1 ( 0.1)
p3A 0 ( 0.0)
p3B 0 ( 0.0)
p3C 0 ( 0.0)
pX 845 ( 62.1)
NA 213 ( 15.7)
TNM_PATH_M (%) N_A 1 ( 0.1)
p1 3 ( 0.2)
p1A 0 ( 0.0)
p1B 0 ( 0.0)
p1C 0 ( 0.0)
pX 622 ( 45.7)
NA 735 ( 54.0)
TNM_PATH_STAGE_GROUP (%) 0 58 ( 4.3)
1 107 ( 7.9)
1A 104 ( 7.6)
1B 92 ( 6.8)
1C 0 ( 0.0)
2 120 ( 8.8)
2A 0 ( 0.0)
2B 0 ( 0.0)
2C 0 ( 0.0)
3 26 ( 1.9)
3A 2 ( 0.1)
3B 0 ( 0.0)
3C 5 ( 0.4)
4 4 ( 0.3)
4A 5 ( 0.4)
4B 1 ( 0.1)
4C 0 ( 0.0)
N_A 1 ( 0.1)
99 757 ( 55.6)
NA 79 ( 5.8)
DX_RX_STARTED_DAYS (mean (sd)) 49.30 (133.55)
DX_SURG_STARTED_DAYS (mean (sd)) 46.72 (118.95)
DX_DEFSURG_STARTED_DAYS (mean (sd)) 58.37 (134.05)
MARGINS (%) No Residual 601 ( 44.2)
Residual, NOS 164 ( 12.0)
Microscopic Resid 351 ( 25.8)
Macroscopic Resid 17 ( 1.2)
Not evaluable 22 ( 1.6)
No surg 162 ( 11.9)
Unknown 44 ( 3.2)
MARGINS_YN (%) No 601 ( 44.2)
Yes 532 ( 39.1)
No surg/Unk/NA 228 ( 16.8)
SURG_DISCHARGE_DAYS (mean (sd)) 2.12 (6.93)
READM_HOSP_30_DAYS_F (%) No_Surg_or_No_Readmit 1293 ( 95.0)
Unplan_Readmit_Same 36 ( 2.6)
Plan_Readmit_Same 15 ( 1.1)
PlanUnplan_Same 1 ( 0.1)
9 16 ( 1.2)
RX_SUMM_RADIATION_F (%) None 1269 ( 93.2)
Beam Radiation 73 ( 5.4)
Radioactive Implants 1 ( 0.1)
Radioisotopes 0 ( 0.0)
Beam + Imp or Isotopes 1 ( 0.1)
Radiation, NOS 0 ( 0.0)
Unknown 17 ( 1.2)
PUF_30_DAY_MORT_CD_F (%) Alive_30 1156 ( 84.9)
Dead_30 5 ( 0.4)
Unknown 33 ( 2.4)
NA 167 ( 12.3)
PUF_90_DAY_MORT_CD_F (%) Alive_90 1134 ( 83.3)
Dead_90 10 ( 0.7)
Unknown 50 ( 3.7)
NA 167 ( 12.3)
DX_LASTCONTACT_DEATH_MONTHS (mean (sd)) 58.04 (40.29)
LYMPH_VASCULAR_INVASION_F (%) Neg_LymphVasc_Inv 272 ( 20.0)
Pos_LumphVasc_Inv 28 ( 2.1)
N_A 1 ( 0.1)
Unknown 438 ( 32.2)
NA 622 ( 45.7)
RX_HOSP_SURG_APPR_2010_F (%) No_Surg 123 ( 9.0)
Robot_Assist 2 ( 0.1)
Robot_to_Open 0 ( 0.0)
Endo_Lap 18 ( 1.3)
Endo_Lap_to_Open 2 ( 0.1)
Open_Unknown 594 ( 43.6)
Unknown 0 ( 0.0)
NA 622 ( 45.7)
SURG_RAD_SEQ (%) Surg Alone 1158 ( 85.1)
Surg then Rad 23 ( 1.7)
Rad Alone 52 ( 3.8)
No Treatment 106 ( 7.8)
Other 22 ( 1.6)
Rad before and after Surg 0 ( 0.0)
Rad then Surg 0 ( 0.0)
SURG_RAD_SEQ_C (%) Surg, No rad, No Chemo 1119 ( 82.2)
Surg then Rad, No Chemo 20 ( 1.5)
Surg then Rad, Yes Chemo 3 ( 0.2)
Surg, No rad, Yes Chemo 10 ( 0.7)
No Surg, No Rad, Yes Chemo 9 ( 0.7)
No Surg, No Rad, No Chemo 95 ( 7.0)
Other 53 ( 3.9)
Rad, No Surg, Yes Chemo 9 ( 0.7)
Rad, No Surg, No Chemo 43 ( 3.2)
Rad then Surg, Yes Chemo 0 ( 0.0)
Rad then Surg, No Chemo 0 ( 0.0)
Rad before and after Surg, Yes Chemo 0 ( 0.0)
Rad before and after Surg, No Chemo 0 ( 0.0)
SURGERY_YN (%) No 157 ( 11.5)
Ukn 8 ( 0.6)
Yes 1196 ( 87.9)
RADIATION_YN (%) No 1269 ( 93.2)
Yes 75 ( 5.5)
NA 17 ( 1.2)
CHEMO_YN (%) No 1288 ( 94.6)
Yes 31 ( 2.3)
Ukn 42 ( 3.1)
mets_at_dx (%) Bone 5 ( 0.4)
Brain 0 ( 0.0)
Liver 0 ( 0.0)
Lung 0 ( 0.0)
None/Other/Unk/NA 1356 ( 99.6)
MEDICAID_EXPN_CODE (%) Non-Expansion State 483 ( 35.5)
Jan 2014 Expansion States 450 ( 33.1)
Early Expansion States (2010-13) 239 ( 17.6)
Late Expansion States (> Jan 2014) 175 ( 12.9)
Suppressed for Ages 0 - 39 14 ( 1.0)
EXPN_GROUP (%) Exclude 14 ( 1.0)
Post-Expansion 247 ( 18.1)
Pre-Expansion 1100 ( 80.8)
SITE_TEXT (%) C00.0 External Lip: Upper NOS 0 ( 0.0)
C00.1 External Lip: Lower NOS 0 ( 0.0)
C00.2 External Lip: NOS 0 ( 0.0)
C00.3 Lip: Upper Mucosa 0 ( 0.0)
C00.4 Lip: Lower Mucosa 0 ( 0.0)
C00.5 Lip: Mucosa NOS 0 ( 0.0)
C00.6 Lip: Commissure 0 ( 0.0)
C00.8 Lip: Overlapping 0 ( 0.0)
C00.9 Lip, NOS 0 ( 0.0)
C44.0 Skin of lip, NOS 0 ( 0.0)
C44.1 Eyelid 0 ( 0.0)
C44.2 External ear 2 ( 0.1)
C44.3 Skin of ear and unspecified parts of face 2 ( 0.1)
C44.4 Skin of scalp and neck 3 ( 0.2)
C44.5 Skin of trunk 287 ( 21.1)
C44.6 Skin of upper limb and shoulder 7 ( 0.5)
C44.7 Skin of lower limb and hip 12 ( 0.9)
C44.8 Overlapping lesion of skin 11 ( 0.8)
C44.9 Skin, NOS 19 ( 1.4)
C50.0 Nipple 1 ( 0.1)
C51.0 Labium majus 92 ( 6.8)
C51.1 Labium minus 15 ( 1.1)
C51.2 Clitoris 2 ( 0.1)
C51.8 Overlapping lesion of vulva 60 ( 4.4)
C51.9 Vulva, NOS 822 ( 60.4)
C52.9 Vagina, NOS 1 ( 0.1)
C60.0 Prepuce 0 ( 0.0)
C60.1 Glans penis 0 ( 0.0)
C60.2 Body of penis 1 ( 0.1)
C60.8 Overlapping lesion of penis 2 ( 0.1)
C60.9 Penis 22 ( 1.6)

p_table(no_Excludes,
        vars = c("FACILITY_TYPE_F", "FACILITY_LOCATION_F", "FACILITY_GEOGRAPHY",  "AGE", "AGE_F", "AGE_40",
                 "SEX_F", "RACE_F", "HISPANIC", "INSURANCE_F", 
                 "INCOME_F", "EDUCATION_F", "U_R_F", "CROWFLY", "CDCC_TOTAL_BEST",
                 "SITE_TEXT", "HISTOLOGY_F_LIM", "HISTOLOGY_F", "BEHAVIOR", "GRADE_F",
                 "DX_STAGING_PROC_DAYS", "TNM_CLIN_T", "TNM_CLIN_N", "TNM_CLIN_M",
                 "TNM_CLIN_STAGE_GROUP", "TNM_PATH_T", "TNM_PATH_N", "TNM_PATH_M",
                 "TNM_PATH_STAGE_GROUP", "DX_RX_STARTED_DAYS", "DX_SURG_STARTED_DAYS",
                 "DX_DEFSURG_STARTED_DAYS", "MARGINS", "MARGINS_YN", "SURG_DISCHARGE_DAYS",
                 "READM_HOSP_30_DAYS_F", "RX_SUMM_RADIATION_F", "PUF_30_DAY_MORT_CD_F",
                 "PUF_90_DAY_MORT_CD_F", "DX_LASTCONTACT_DEATH_MONTHS", 
                 "LYMPH_VASCULAR_INVASION_F", "RX_HOSP_SURG_APPR_2010_F", "SURG_RAD_SEQ",
                 "SURG_RAD_SEQ_C", "T_SIZE", "SURGERY_YN", "RADIATION_YN", "CHEMO_YN", "mets_at_dx",
                 "MEDICAID_EXPN_CODE","SITE_TEXT"), 
        strata = "EXPN_GROUP")
The data frame does not have: SITE_TEXT.1  Dropped

level Post-Expansion Pre-Expansion p test
n 144 562
FACILITY_TYPE_F (%) Community Cancer Program 2 ( 1.4) 11 ( 2.0) <0.001
Comprehensive Comm Ca Program 39 ( 27.1) 211 ( 37.5)
Academic/Research Program 90 ( 62.5) 231 ( 41.1)
Integrated Network Ca Program 13 ( 9.0) 109 ( 19.4)
FACILITY_LOCATION_F (%) New England 18 ( 12.5) 18 ( 3.2) <0.001
Middle Atlantic 31 ( 21.5) 94 ( 16.7)
South Atlantic 7 ( 4.9) 118 ( 21.0)
East North Central 14 ( 9.7) 112 ( 19.9)
East South Central 4 ( 2.8) 40 ( 7.1)
West North Central 24 ( 16.7) 54 ( 9.6)
West South Central 0 ( 0.0) 46 ( 8.2)
Mountain 2 ( 1.4) 37 ( 6.6)
Pacific 44 ( 30.6) 43 ( 7.7)
FACILITY_GEOGRAPHY (%) Northeast 49 ( 34.0) 112 ( 19.9) <0.001
South 7 ( 4.9) 164 ( 29.2)
Midwest 42 ( 29.2) 206 ( 36.7)
West 46 ( 31.9) 80 ( 14.2)
AGE (mean (sd)) 70.54 (12.26) 70.72 (11.57) 0.869
AGE_F (%) (0,54] 14 ( 9.7) 55 ( 9.8) 0.802
(54,64] 31 ( 21.5) 115 ( 20.5)
(64,74] 48 ( 33.3) 169 ( 30.1)
(74,100] 51 ( 35.4) 223 ( 39.7)
AGE_40 (%) (0,40] 0 ( 0.0) 2 ( 0.4) 1.000
(40,100] 144 (100.0) 560 ( 99.6)
SEX_F (%) Male 29 ( 20.1) 104 ( 18.5) 0.743
Female 115 ( 79.9) 458 ( 81.5)
RACE_F (%) White 127 ( 88.2) 508 ( 90.4) 0.360
Black 4 ( 2.8) 12 ( 2.1)
Other/Unk 2 ( 1.4) 16 ( 2.8)
Asian 11 ( 7.6) 26 ( 4.6)
HISPANIC (%) No 138 ( 95.8) 511 ( 90.9) 0.096
Yes 4 ( 2.8) 20 ( 3.6)
Unknown 2 ( 1.4) 31 ( 5.5)
INSURANCE_F (%) Private 52 ( 36.1) 187 ( 33.3) 0.900
None 2 ( 1.4) 9 ( 1.6)
Medicaid 4 ( 2.8) 12 ( 2.1)
Medicare 85 ( 59.0) 352 ( 62.6)
Other Government 1 ( 0.7) 2 ( 0.4)
INCOME_F (%) Less than $38,000 11 ( 7.6) 71 ( 12.6) <0.001
$38,000 - $47,999 22 ( 15.3) 145 ( 25.8)
$48,000 - $62,999 32 ( 22.2) 149 ( 26.5)
$63,000 + 78 ( 54.2) 195 ( 34.7)
NA 1 ( 0.7) 2 ( 0.4)
EDUCATION_F (%) 21% or more 21 ( 14.6) 69 ( 12.3) 0.656
13 - 20.9% 28 ( 19.4) 120 ( 21.4)
7 - 12.9% 48 ( 33.3) 215 ( 38.3)
Less than 7% 46 ( 31.9) 156 ( 27.8)
NA 1 ( 0.7) 2 ( 0.4)
U_R_F (%) Metro 121 ( 84.0) 471 ( 83.8) 0.049
Urban 13 ( 9.0) 67 ( 11.9)
Rural 2 ( 1.4) 14 ( 2.5)
NA 8 ( 5.6) 10 ( 1.8)
CROWFLY (mean (sd)) 31.80 (96.50) 32.75 (91.19) 0.912
CDCC_TOTAL_BEST (%) 0 112 ( 77.8) 445 ( 79.2) 0.968
1 26 ( 18.1) 92 ( 16.4)
2 4 ( 2.8) 16 ( 2.8)
3 2 ( 1.4) 9 ( 1.6)
SITE_TEXT (%) C44.2 External ear 0 ( 0.0) 1 ( 0.2) 0.634
C44.3 Skin of ear and unspecified parts of face 1 ( 0.7) 0 ( 0.0)
C44.4 Skin of scalp and neck 1 ( 0.7) 1 ( 0.2)
C44.5 Skin of trunk 29 ( 20.1) 106 ( 18.9)
C44.6 Skin of upper limb and shoulder 2 ( 1.4) 3 ( 0.5)
C44.7 Skin of lower limb and hip 2 ( 1.4) 6 ( 1.1)
C44.8 Overlapping lesion of skin 1 ( 0.7) 5 ( 0.9)
C44.9 Skin, NOS 2 ( 1.4) 7 ( 1.2)
C50.0 Nipple 0 ( 0.0) 1 ( 0.2)
C51.0 Labium majus 12 ( 8.3) 42 ( 7.5)
C51.1 Labium minus 2 ( 1.4) 8 ( 1.4)
C51.2 Clitoris 0 ( 0.0) 1 ( 0.2)
C51.8 Overlapping lesion of vulva 3 ( 2.1) 21 ( 3.7)
C51.9 Vulva, NOS 84 ( 58.3) 348 ( 61.9)
C60.8 Overlapping lesion of penis 1 ( 0.7) 0 ( 0.0)
C60.9 Penis 4 ( 2.8) 12 ( 2.1)
HISTOLOGY_F_LIM (%) Other 144 (100.0) 562 (100.0) NA
HISTOLOGY_F (%) 8542 144 (100.0) 562 (100.0) NA
BEHAVIOR (%) 3 144 (100.0) 562 (100.0) NA
GRADE_F (%) Gr I: Well Diff 5 ( 3.5) 21 ( 3.7) 0.885
Gr II: Mod Diff 5 ( 3.5) 13 ( 2.3)
Gr III: Poor Diff 3 ( 2.1) 11 ( 2.0)
NA/Unkown 131 ( 91.0) 517 ( 92.0)
DX_STAGING_PROC_DAYS (mean (sd)) 1.36 (8.20) 1.54 (13.80) 0.890
TNM_CLIN_T (%) c0 0 ( 0.0) 2 ( 0.4) 0.048
c1 18 ( 12.5) 63 ( 11.2)
c1A 23 ( 16.0) 74 ( 13.2)
c1B 32 ( 22.2) 67 ( 11.9)
c2 19 ( 13.2) 75 ( 13.3)
c3 0 ( 0.0) 9 ( 1.6)
c4 0 ( 0.0) 1 ( 0.2)
cX 45 ( 31.2) 244 ( 43.4)
pIS 5 ( 3.5) 16 ( 2.8)
NA 2 ( 1.4) 11 ( 2.0)
TNM_CLIN_N (%) c0 126 ( 87.5) 406 ( 72.2) 0.001
c1 0 ( 0.0) 1 ( 0.2)
c2C 1 ( 0.7) 0 ( 0.0)
cX 17 ( 11.8) 153 ( 27.2)
NA 0 ( 0.0) 2 ( 0.4)
TNM_CLIN_M (%) c0 144 (100.0) 562 (100.0) NA
TNM_CLIN_STAGE_GROUP (%) 0 5 ( 3.5) 32 ( 5.7) 0.116
1 23 ( 16.0) 90 ( 16.0)
1A 17 ( 11.8) 57 ( 10.1)
1B 29 ( 20.1) 60 ( 10.7)
2 19 ( 13.2) 75 ( 13.3)
3 0 ( 0.0) 5 ( 0.9)
4 1 ( 0.7) 1 ( 0.2)
4A 0 ( 0.0) 1 ( 0.2)
4B 0 ( 0.0) 1 ( 0.2)
99 50 ( 34.7) 240 ( 42.7)
TNM_PATH_T (%) p0 0 ( 0.0) 4 ( 0.7) <0.001
p1 14 ( 9.7) 37 ( 6.6)
p1A 23 ( 16.0) 75 ( 13.3)
p1B 33 ( 22.9) 72 ( 12.8)
p2 12 ( 8.3) 52 ( 9.3)
p3 0 ( 0.0) 5 ( 0.9)
pIS 2 ( 1.4) 15 ( 2.7)
pX 29 ( 20.1) 259 ( 46.1)
NA 31 ( 21.5) 43 ( 7.7)
TNM_PATH_N (%) p0 30 ( 20.8) 118 ( 21.0) <0.001
p1 0 ( 0.0) 3 ( 0.5)
p1B 1 ( 0.7) 0 ( 0.0)
p2C 0 ( 0.0) 1 ( 0.2)
pX 70 ( 48.6) 377 ( 67.1)
NA 43 ( 29.9) 63 ( 11.2)
TNM_PATH_M (%) p1 0 ( 0.0) 1 ( 0.2) <0.001
pX 0 ( 0.0) 255 ( 45.4)
NA 144 (100.0) 306 ( 54.4)
TNM_PATH_STAGE_GROUP (%) 0 2 ( 1.4) 29 ( 5.2) <0.001
1 12 ( 8.3) 46 ( 8.2)
1A 16 ( 11.1) 48 ( 8.5)
1B 22 ( 15.3) 37 ( 6.6)
2 8 ( 5.6) 42 ( 7.5)
3 0 ( 0.0) 8 ( 1.4)
3A 1 ( 0.7) 0 ( 0.0)
4A 0 ( 0.0) 1 ( 0.2)
4B 0 ( 0.0) 1 ( 0.2)
99 65 ( 45.1) 325 ( 57.8)
NA 18 ( 12.5) 25 ( 4.4)
DX_RX_STARTED_DAYS (mean (sd)) 49.87 (39.28) 46.72 (169.07) 0.830
DX_SURG_STARTED_DAYS (mean (sd)) 50.34 (40.61) 45.44 (174.02) 0.763
DX_DEFSURG_STARTED_DAYS (mean (sd)) 64.22 (81.18) 56.07 (191.74) 0.654
MARGINS (%) No Residual 59 ( 41.0) 248 ( 44.1) 0.096
Residual, NOS 10 ( 6.9) 67 ( 11.9)
Microscopic Resid 39 ( 27.1) 152 ( 27.0)
Macroscopic Resid 2 ( 1.4) 7 ( 1.2)
Not evaluable 4 ( 2.8) 4 ( 0.7)
No surg 26 ( 18.1) 66 ( 11.7)
Unknown 4 ( 2.8) 18 ( 3.2)
MARGINS_YN (%) No 59 ( 41.0) 248 ( 44.1) 0.077
Yes 51 ( 35.4) 226 ( 40.2)
No surg/Unk/NA 34 ( 23.6) 88 ( 15.7)
SURG_DISCHARGE_DAYS (mean (sd)) 1.57 (4.00) 1.77 (6.61) 0.756
READM_HOSP_30_DAYS_F (%) No_Surg_or_No_Readmit 137 ( 95.1) 529 ( 94.1) 0.349
Unplan_Readmit_Same 2 ( 1.4) 18 ( 3.2)
Plan_Readmit_Same 4 ( 2.8) 6 ( 1.1)
PlanUnplan_Same 0 ( 0.0) 1 ( 0.2)
9 1 ( 0.7) 8 ( 1.4)
RX_SUMM_RADIATION_F (%) None 138 ( 95.8) 528 ( 94.0) 0.149
Beam Radiation 4 ( 2.8) 27 ( 4.8)
Radioactive Implants 1 ( 0.7) 0 ( 0.0)
Unknown 1 ( 0.7) 7 ( 1.2)
PUF_30_DAY_MORT_CD_F (%) Alive_30 111 ( 77.1) 484 ( 86.1) 0.015
Dead_30 1 ( 0.7) 3 ( 0.5)
Unknown 6 ( 4.2) 6 ( 1.1)
NA 26 ( 18.1) 69 ( 12.3)
PUF_90_DAY_MORT_CD_F (%) Alive_90 110 ( 76.4) 476 ( 84.7) 0.093
Dead_90 1 ( 0.7) 4 ( 0.7)
Unknown 7 ( 4.9) 13 ( 2.3)
NA 26 ( 18.1) 69 ( 12.3)
DX_LASTCONTACT_DEATH_MONTHS (mean (sd)) 30.92 (21.03) 60.22 (38.34) <0.001
LYMPH_VASCULAR_INVASION_F (%) Neg_LymphVasc_Inv 44 ( 30.6) 128 ( 22.8) <0.001
Pos_LumphVasc_Inv 4 ( 2.8) 9 ( 1.6)
N_A 1 ( 0.7) 0 ( 0.0)
Unknown 95 ( 66.0) 170 ( 30.2)
NA 0 ( 0.0) 255 ( 45.4)
RX_HOSP_SURG_APPR_2010_F (%) No_Surg 26 ( 18.1) 34 ( 6.0) <0.001
Robot_Assist 0 ( 0.0) 1 ( 0.2)
Endo_Lap 3 ( 2.1) 11 ( 2.0)
Endo_Lap_to_Open 0 ( 0.0) 1 ( 0.2)
Open_Unknown 115 ( 79.9) 260 ( 46.3)
NA 0 ( 0.0) 255 ( 45.4)
SURG_RAD_SEQ (%) Surg Alone 115 ( 79.9) 485 ( 86.3) 0.013
Surg then Rad 2 ( 1.4) 4 ( 0.7)
Rad Alone 3 ( 2.1) 23 ( 4.1)
No Treatment 23 ( 16.0) 41 ( 7.3)
Other 1 ( 0.7) 9 ( 1.6)
SURG_RAD_SEQ_C (%) Surg, No rad, No Chemo 112 ( 77.8) 471 ( 83.8) 0.060
Surg then Rad, No Chemo 2 ( 1.4) 4 ( 0.7)
Surg, No rad, Yes Chemo 1 ( 0.7) 4 ( 0.7)
No Surg, No Rad, Yes Chemo 1 ( 0.7) 0 ( 0.0)
No Surg, No Rad, No Chemo 21 ( 14.6) 41 ( 7.3)
Other 4 ( 2.8) 19 ( 3.4)
Rad, No Surg, Yes Chemo 0 ( 0.0) 2 ( 0.4)
Rad, No Surg, No Chemo 3 ( 2.1) 21 ( 3.7)
T_SIZE (%) Microscopic focus 3 ( 2.1) 9 ( 1.6) 0.098
< 1 cm 12 ( 8.3) 52 ( 9.3)
1-2 cm 5 ( 3.5) 48 ( 8.5)
2-3 cm 14 ( 9.7) 39 ( 6.9)
3-4 cm 11 ( 7.6) 57 ( 10.1)
4-5 cm 16 ( 11.1) 28 ( 5.0)
5-6 cm 7 ( 4.9) 28 ( 5.0)
>6 cm 20 ( 13.9) 69 ( 12.3)
NA_unk 56 ( 38.9) 232 ( 41.3)
SURGERY_YN (%) No 26 ( 18.1) 64 ( 11.4) 0.072
Ukn 0 ( 0.0) 3 ( 0.5)
Yes 118 ( 81.9) 495 ( 88.1)
RADIATION_YN (%) No 138 ( 95.8) 528 ( 94.0) 0.671
Yes 5 ( 3.5) 27 ( 4.8)
NA 1 ( 0.7) 7 ( 1.2)
CHEMO_YN (%) No 139 ( 96.5) 542 ( 96.4) 0.912
Yes 2 ( 1.4) 6 ( 1.1)
Ukn 3 ( 2.1) 14 ( 2.5)
mets_at_dx (%) None/Other/Unk/NA 144 (100.0) 562 (100.0) NA
MEDICAID_EXPN_CODE (%) Non-Expansion State 0 ( 0.0) 244 ( 43.4) <0.001
Jan 2014 Expansion States 68 ( 47.2) 172 ( 30.6)
Early Expansion States (2010-13) 76 ( 52.8) 44 ( 7.8)
Late Expansion States (> Jan 2014) 0 ( 0.0) 102 ( 18.1)
SITE_TEXT (%) C44.2 External ear 0 ( 0.0) 1 ( 0.2) 0.634
C44.3 Skin of ear and unspecified parts of face 1 ( 0.7) 0 ( 0.0)
C44.4 Skin of scalp and neck 1 ( 0.7) 1 ( 0.2)
C44.5 Skin of trunk 29 ( 20.1) 106 ( 18.9)
C44.6 Skin of upper limb and shoulder 2 ( 1.4) 3 ( 0.5)
C44.7 Skin of lower limb and hip 2 ( 1.4) 6 ( 1.1)
C44.8 Overlapping lesion of skin 1 ( 0.7) 5 ( 0.9)
C44.9 Skin, NOS 2 ( 1.4) 7 ( 1.2)
C50.0 Nipple 0 ( 0.0) 1 ( 0.2)
C51.0 Labium majus 12 ( 8.3) 42 ( 7.5)
C51.1 Labium minus 2 ( 1.4) 8 ( 1.4)
C51.2 Clitoris 0 ( 0.0) 1 ( 0.2)
C51.8 Overlapping lesion of vulva 3 ( 2.1) 21 ( 3.7)
C51.9 Vulva, NOS 84 ( 58.3) 348 ( 61.9)
C60.8 Overlapping lesion of penis 1 ( 0.7) 0 ( 0.0)
C60.9 Penis 4 ( 2.8) 12 ( 2.1)

p_table(data,
        vars = c("YEAR_OF_DIAGNOSIS"),
        strata = c("MEDICAID_EXPN_CODE"))
level Non-Expansion State Jan 2014 Expansion States Early Expansion States (2010-13) Late Expansion States (> Jan 2014) Suppressed for Ages 0 - 39 p test
n 483 450 239 175 14
YEAR_OF_DIAGNOSIS (%) 2004 32 (6.6) 23 ( 5.1) 19 ( 7.9) 9 ( 5.1) 1 ( 7.1) NaN
2005 40 (8.3) 32 ( 7.1) 8 ( 3.3) 8 ( 4.6) 1 ( 7.1)
2006 31 (6.4) 37 ( 8.2) 20 ( 8.4) 12 ( 6.9) 2 (14.3)
2007 44 (9.1) 39 ( 8.7) 13 ( 5.4) 15 ( 8.6) 3 (21.4)
2008 48 (9.9) 37 ( 8.2) 20 ( 8.4) 18 (10.3) 0 ( 0.0)
2009 37 (7.7) 38 ( 8.4) 20 ( 8.4) 15 ( 8.6) 0 ( 0.0)
2010 33 (6.8) 43 ( 9.6) 26 (10.9) 15 ( 8.6) 0 ( 0.0)
2011 44 (9.1) 32 ( 7.1) 25 (10.5) 23 (13.1) 1 ( 7.1)
2012 44 (9.1) 28 ( 6.2) 18 ( 7.5) 11 ( 6.3) 2 (14.3)
2013 47 (9.7) 33 ( 7.3) 23 ( 9.6) 14 ( 8.0) 1 ( 7.1)
2014 40 (8.3) 42 ( 9.3) 19 ( 7.9) 20 (11.4) 1 ( 7.1)
2015 43 (8.9) 66 (14.7) 28 (11.7) 15 ( 8.6) 2 (14.3)
2016 0 (0.0) 0 ( 0.0) 0 ( 0.0) 0 ( 0.0) 0 ( 0.0)
preExpMedicare  <- nrow(data %>% filter(EXPN_GROUP == "Pre-Expansion" & INSURANCE_F == "Medicare"))
postExpMedicare <- nrow(data %>% filter(EXPN_GROUP == "Post-Expansion" & INSURANCE_F == "Medicare"))
# p = 0.25 when comparing change in proportion of patients with Medicare before and after ACA expansion
prop.test(c(preExpMedicare, postExpMedicare), 
          c(nrow(data %>% filter(EXPN_GROUP == "Pre-Expansion")), nrow(data %>% filter(EXPN_GROUP == "Post-Expansion"))))

    2-sample test for equality of proportions with continuity correction

data:  c(preExpMedicare, postExpMedicare) out of c(nrow(data %>% filter(EXPN_GROUP == "Pre-Expansion")), nrow(data %>% c(preExpMedicare, postExpMedicare) out of     filter(EXPN_GROUP == "Post-Expansion")))
X-squared = 0.098797, df = 1, p-value = 0.7533
alternative hypothesis: two.sided
95 percent confidence interval:
 -0.05645737  0.08287621
sample estimates:
   prop 1    prop 2 
0.6245455 0.6113360 
preExpNoInsurance <- nrow(data %>% filter(EXPN_GROUP == "Pre-Expansion") %>% 
                            filter(INSURANCE_F == "None"))
postExpNoInsurance <- nrow(data %>% filter(EXPN_GROUP == "Post-Expansion") %>% 
                             filter(INSURANCE_F == "None"))
# Significant decrease in the overall proportion of patients without insurance after ACA expansion 
prop.test(c(preExpNoInsurance, postExpNoInsurance), 
          c(nrow(data %>% filter(EXPN_GROUP == "Pre-Expansion")), nrow(data %>% filter(EXPN_GROUP == "Post-Expansion"))))
Chi-squared approximation may be incorrect

    2-sample test for equality of proportions with continuity correction

data:  c(preExpNoInsurance, postExpNoInsurance) out of c(nrow(data %>% filter(EXPN_GROUP == "Pre-Expansion")), nrow(data %>% c(preExpNoInsurance, postExpNoInsurance) out of     filter(EXPN_GROUP == "Post-Expansion")))
X-squared = 2.7058e-30, df = 1, p-value = 1
alternative hypothesis: two.sided
95 percent confidence interval:
 -0.01743541  0.01777402
sample estimates:
    prop 1     prop 2 
0.01636364 0.01619433 
p_table(no_Excludes, strata = "EXPN_GROUP", vars = "DX_RX_STARTED_DAYS")

level Post-Expansion Pre-Expansion p test
n 144 562
DX_RX_STARTED_DAYS (mean (sd)) 49.87 (39.28) 46.72 (169.07) 0.830

data <- data %>% mutate(Insured = INSURANCE_F != "Unknown")

Kaplan Meier Analysis

All

uni_var(test_var = "All", data_imp = data)
_________________________________________________
   
## All
_________________________________________________
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ All, data = data)

      n  events  median 0.95LCL 0.95UCL 
   1361     329     142     128      NA 

Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ All, data = data)

 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12   1185      48    0.963 0.00527        0.953        0.973
   24   1033      52    0.919 0.00782        0.903        0.934
   36    865      40    0.880 0.00956        0.862        0.899
   48    724      34    0.843 0.01106        0.822        0.865
   60    592      44    0.789 0.01308        0.763        0.815
  120    125      95    0.586 0.02187        0.545        0.631



   
## Univariable Cox Proportional Hazard Model for:  All

[1] "Only one level, no Cox model performed"




   
## Unadjusted Kaplan Meier Overall Survival Curve for:  All

Facility Type

uni_var(test_var = "FACILITY_TYPE_F", data_imp = data)
_________________________________________________
   
## FACILITY_TYPE_F
_________________________________________________
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ FACILITY_TYPE_F, data = data)

   14 observations deleted due to missingness 
                                                n events median 0.95LCL 0.95UCL
FACILITY_TYPE_F=Community Cancer Program       31      8     NA    79.8      NA
FACILITY_TYPE_F=Comprehensive Comm Ca Program 462    126    128   115.9      NA
FACILITY_TYPE_F=Academic/Research Program     654    144    155   126.1      NA
FACILITY_TYPE_F=Integrated Network Ca Program 200     51    131   120.9      NA

Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ FACILITY_TYPE_F, data = data)

14 observations deleted due to missingness 
                FACILITY_TYPE_F=Community Cancer Program 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12     26       1    0.963  0.0363        0.894        1.000
   24     23       1    0.926  0.0504        0.832        1.000
   36     19       1    0.882  0.0645        0.764        1.000
   48     15       0    0.882  0.0645        0.764        1.000
   60     14       1    0.823  0.0827        0.676        1.000
  120      5       4    0.525  0.1366        0.316        0.875

                FACILITY_TYPE_F=Comprehensive Comm Ca Program 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    393      24    0.946  0.0108        0.925        0.967
   24    345      18    0.901  0.0145        0.873        0.930
   36    294      14    0.862  0.0172        0.829        0.897
   48    250      17    0.811  0.0203        0.772        0.851
   60    197      16    0.753  0.0234        0.708        0.800
  120     34      31    0.555  0.0384        0.484        0.635

                FACILITY_TYPE_F=Academic/Research Program 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    581      15    0.976 0.00624        0.963        0.988
   24    505      24    0.933 0.01037        0.913        0.954
   36    417      20    0.893 0.01323        0.868        0.919
   48    352      10    0.870 0.01476        0.842        0.900
   60    294      20    0.818 0.01792        0.784        0.854
  120     64      48    0.597 0.03241        0.537        0.664

                FACILITY_TYPE_F=Integrated Network Ca Program 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    174       8    0.958  0.0147        0.929        0.987
   24    149       9    0.905  0.0220        0.863        0.949
   36    127       5    0.872  0.0257        0.823        0.924
   48    100       7    0.819  0.0309        0.761        0.882
   60     80       7    0.759  0.0361        0.692        0.833
  120     19      12    0.596  0.0533        0.501        0.710




   
## Univariable Cox Proportional Hazard Model for:  FACILITY_TYPE_F

Call:
coxph(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ FACILITY_TYPE_F, data = data)

  n= 1347, number of events= 329 
   (14 observations deleted due to missingness)

                                                 coef exp(coef) se(coef)      z Pr(>|z|)
FACILITY_TYPE_FComprehensive Comm Ca Program  0.09866   1.10370  0.36480  0.270    0.787
FACILITY_TYPE_FAcademic/Research Program     -0.16091   0.85137  0.36339 -0.443    0.658
FACILITY_TYPE_FIntegrated Network Ca Program  0.03599   1.03664  0.38046  0.095    0.925

                                             exp(coef) exp(-coef) lower .95 upper .95
FACILITY_TYPE_FComprehensive Comm Ca Program    1.1037     0.9060    0.5399     2.256
FACILITY_TYPE_FAcademic/Research Program        0.8514     1.1746    0.4176     1.736
FACILITY_TYPE_FIntegrated Network Ca Program    1.0366     0.9647    0.4918     2.185

Concordance= 0.543  (se = 0.016 )
Rsquare= 0.004   (max possible= 0.957 )
Likelihood ratio test= 4.79  on 3 df,   p=0.1877
Wald test            = 4.77  on 3 df,   p=0.189
Score (logrank) test = 4.8  on 3 df,   p=0.1871
Removed 1 rows containing missing values (geom_errorbar).



   
## Unadjusted Kaplan Meier Overall Survival Curve for:  FACILITY_TYPE_F

Facility Location

uni_var(test_var = "FACILITY_LOCATION_F", data_imp = data)
_________________________________________________
   
## FACILITY_LOCATION_F
_________________________________________________
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ FACILITY_LOCATION_F, data = data)

   14 observations deleted due to missingness 
                                         n events median 0.95LCL 0.95UCL
FACILITY_LOCATION_F=New England         59     18    111    70.2      NA
FACILITY_LOCATION_F=Middle Atlantic    231     52     NA   115.0      NA
FACILITY_LOCATION_F=South Atlantic     256     51     NA   126.1      NA
FACILITY_LOCATION_F=East North Central 222     60    133   105.8      NA
FACILITY_LOCATION_F=East South Central  89     20    133   110.7      NA
FACILITY_LOCATION_F=West North Central 141     38    125    84.9      NA
FACILITY_LOCATION_F=West South Central  99     26     NA   125.6      NA
FACILITY_LOCATION_F=Mountain            79     25    128   106.7      NA
FACILITY_LOCATION_F=Pacific            171     39    150   149.6      NA

Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ FACILITY_LOCATION_F, data = data)

14 observations deleted due to missingness 
                FACILITY_LOCATION_F=New England 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12     52       2    0.964  0.0253        0.915        1.000
   24     43       3    0.905  0.0404        0.829        0.988
   36     37       0    0.905  0.0404        0.829        0.988
   48     30       3    0.823  0.0583        0.716        0.946
   60     21       4    0.700  0.0756        0.567        0.865
  120      4       5    0.429  0.1213        0.247        0.747

                FACILITY_LOCATION_F=Middle Atlantic 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    213       4    0.982 0.00896        0.965        1.000
   24    180      12    0.923 0.01846        0.888        0.960
   36    146       6    0.890 0.02227        0.847        0.935
   48    118       8    0.837 0.02768        0.785        0.893
   60     98       6    0.793 0.03150        0.734        0.858
  120     19      16    0.577 0.05660        0.476        0.700

                FACILITY_LOCATION_F=South Atlantic 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    225       7    0.971  0.0107        0.950        0.992
   24    208       3    0.957  0.0132        0.932        0.984
   36    179       8    0.919  0.0185        0.883        0.956
   48    152       6    0.886  0.0221        0.844        0.931
   60    128       8    0.836  0.0270        0.785        0.891
  120     28      16    0.651  0.0493        0.562        0.756

                FACILITY_LOCATION_F=East North Central 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    198      10    0.954  0.0143        0.926        0.982
   24    178       6    0.924  0.0183        0.889        0.960
   36    151       7    0.884  0.0229        0.840        0.930
   48    125       5    0.852  0.0261        0.803        0.905
   60    105       8    0.795  0.0313        0.736        0.859
  120     18      22    0.537  0.0545        0.440        0.655

                FACILITY_LOCATION_F=East South Central 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12     74       2    0.976  0.0165        0.945        1.000
   24     67       3    0.935  0.0283        0.881        0.992
   36     54       4    0.872  0.0401        0.797        0.955
   48     48       1    0.856  0.0427        0.776        0.944
   60     36       3    0.795  0.0521        0.700        0.904
  120      7       6    0.604  0.0826        0.461        0.789

                FACILITY_LOCATION_F=West North Central 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    119       4    0.970  0.0150        0.941        0.999
   24     98       9    0.892  0.0284        0.838        0.949
   36     80       3    0.861  0.0325        0.800        0.927
   48     59       7    0.781  0.0413        0.704        0.867
   60     47       2    0.753  0.0444        0.671        0.845
  120     11       9    0.536  0.0719        0.412        0.697

                FACILITY_LOCATION_F=West South Central 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12     81       5    0.945  0.0241        0.899        0.993
   24     73       4    0.897  0.0327        0.835        0.963
   36     66       3    0.860  0.0377        0.789        0.937
   48     59       2    0.833  0.0411        0.756        0.917
   60     46       5    0.757  0.0494        0.666        0.860
  120      8       6    0.622  0.0662        0.505        0.767

                FACILITY_LOCATION_F=Mountain 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12     70       4    0.946  0.0261        0.896        0.999
   24     60       3    0.904  0.0346        0.839        0.974
   36     51       3    0.856  0.0425        0.776        0.943
   48     44       2    0.820  0.0476        0.732        0.919
   60     38       3    0.761  0.0550        0.661        0.877
  120     12       8    0.533  0.0805        0.397        0.717

                FACILITY_LOCATION_F=Pacific 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    142      10    0.939  0.0188        0.903        0.976
   24    115       9    0.876  0.0267        0.825        0.930
   36     93       6    0.828  0.0318        0.768        0.892
   48     82       0    0.828  0.0318        0.768        0.892
   60     66       5    0.772  0.0382        0.700        0.850
  120     15       7    0.640  0.0577        0.536        0.763




   
## Univariable Cox Proportional Hazard Model for:  FACILITY_LOCATION_F

Call:
coxph(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ FACILITY_LOCATION_F, data = data)

  n= 1347, number of events= 329 
   (14 observations deleted due to missingness)

                                          coef exp(coef) se(coef)      z Pr(>|z|)  
FACILITY_LOCATION_FMiddle Atlantic    -0.42021   0.65691  0.27365 -1.536    0.125  
FACILITY_LOCATION_FSouth Atlantic     -0.66094   0.51636  0.27445 -2.408    0.016 *
FACILITY_LOCATION_FEast North Central -0.32038   0.72587  0.26897 -1.191    0.234  
FACILITY_LOCATION_FEast South Central -0.45756   0.63283  0.32517 -1.407    0.159  
FACILITY_LOCATION_FWest North Central -0.08662   0.91703  0.28619 -0.303    0.762  
FACILITY_LOCATION_FWest South Central -0.34167   0.71058  0.30694 -1.113    0.266  
FACILITY_LOCATION_FMountain           -0.22838   0.79583  0.30968 -0.737    0.461  
FACILITY_LOCATION_FPacific            -0.34792   0.70616  0.28520 -1.220    0.223  
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

                                      exp(coef) exp(-coef) lower .95 upper .95
FACILITY_LOCATION_FMiddle Atlantic       0.6569      1.522    0.3842    1.1231
FACILITY_LOCATION_FSouth Atlantic        0.5164      1.937    0.3015    0.8842
FACILITY_LOCATION_FEast North Central    0.7259      1.378    0.4285    1.2297
FACILITY_LOCATION_FEast South Central    0.6328      1.580    0.3346    1.1969
FACILITY_LOCATION_FWest North Central    0.9170      1.090    0.5233    1.6069
FACILITY_LOCATION_FWest South Central    0.7106      1.407    0.3894    1.2968
FACILITY_LOCATION_FMountain              0.7958      1.257    0.4337    1.4602
FACILITY_LOCATION_FPacific               0.7062      1.416    0.4038    1.2350

Concordance= 0.547  (se = 0.018 )
Rsquare= 0.008   (max possible= 0.957 )
Likelihood ratio test= 10.67  on 8 df,   p=0.2212
Wald test            = 10.66  on 8 df,   p=0.2217
Score (logrank) test = 10.83  on 8 df,   p=0.2118
Removed 1 rows containing missing values (geom_errorbar).



   
## Unadjusted Kaplan Meier Overall Survival Curve for:  FACILITY_LOCATION_F

Facility Geography

uni_var(test_var = "FACILITY_GEOGRAPHY", data_imp = data)
_________________________________________________
   
## FACILITY_GEOGRAPHY
_________________________________________________
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ FACILITY_GEOGRAPHY, data = data)

   14 observations deleted due to missingness 
                               n events median 0.95LCL 0.95UCL
FACILITY_GEOGRAPHY=Northeast 290     70     NA     111      NA
FACILITY_GEOGRAPHY=South     355     77     NA     126      NA
FACILITY_GEOGRAPHY=Midwest   452    118    126     111      NA
FACILITY_GEOGRAPHY=West      250     64    150     128      NA

Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ FACILITY_GEOGRAPHY, data = data)

14 observations deleted due to missingness 
                FACILITY_GEOGRAPHY=Northeast 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    265       6    0.978 0.00875        0.961        0.996
   24    223      15    0.920 0.01682        0.887        0.953
   36    183       6    0.893 0.01957        0.856        0.932
   48    148      11    0.835 0.02496        0.787        0.885
   60    119      10    0.776 0.02940        0.720        0.836
  120     23      21    0.549 0.05180        0.456        0.660

                FACILITY_GEOGRAPHY=South 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    306      12    0.964  0.0103        0.944        0.984
   24    281       7    0.941  0.0132        0.915        0.967
   36    245      11    0.903  0.0170        0.870        0.936
   48    211       8    0.872  0.0196        0.834        0.911
   60    174      13    0.814  0.0240        0.768        0.862
  120     36      22    0.641  0.0407        0.566        0.726

                FACILITY_GEOGRAPHY=Midwest 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    391      16    0.963  0.0091        0.945        0.981
   24    343      18    0.917  0.0137        0.890        0.944
   36    285      14    0.875  0.0170        0.843        0.909
   48    232      13    0.833  0.0198        0.795        0.873
   60    188      13    0.783  0.0230        0.739        0.829
  120     36      37    0.549  0.0387        0.478        0.630

                FACILITY_GEOGRAPHY=West 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    212      14    0.941  0.0153        0.912        0.972
   24    175      12    0.885  0.0212        0.845        0.928
   36    144       9    0.837  0.0255        0.788        0.888
   48    126       2    0.824  0.0267        0.773        0.878
   60    104       8    0.767  0.0315        0.708        0.832
  120     27      15    0.591  0.0493        0.502        0.696




   
## Univariable Cox Proportional Hazard Model for:  FACILITY_GEOGRAPHY

Call:
coxph(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ FACILITY_GEOGRAPHY, data = data)

  n= 1347, number of events= 329 
   (14 observations deleted due to missingness)

                              coef exp(coef) se(coef)      z Pr(>|z|)
FACILITY_GEOGRAPHYSouth   -0.23584   0.78991  0.16534 -1.426    0.154
FACILITY_GEOGRAPHYMidwest  0.05073   1.05204  0.15096  0.336    0.737
FACILITY_GEOGRAPHYWest     0.02544   1.02577  0.17316  0.147    0.883

                          exp(coef) exp(-coef) lower .95 upper .95
FACILITY_GEOGRAPHYSouth      0.7899     1.2660    0.5713     1.092
FACILITY_GEOGRAPHYMidwest    1.0520     0.9505    0.7826     1.414
FACILITY_GEOGRAPHYWest       1.0258     0.9749    0.7306     1.440

Concordance= 0.526  (se = 0.017 )
Rsquare= 0.003   (max possible= 0.957 )
Likelihood ratio test= 4.47  on 3 df,   p=0.2149
Wald test            = 4.29  on 3 df,   p=0.2323
Score (logrank) test = 4.31  on 3 df,   p=0.2298
Removed 1 rows containing missing values (geom_errorbar).



   
## Unadjusted Kaplan Meier Overall Survival Curve for:  FACILITY_GEOGRAPHY

Age Group

uni_var(test_var = "AGE_F", data_imp = data)
_________________________________________________
   
## AGE_F
_________________________________________________
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ AGE_F, data = data)

                 n events median 0.95LCL 0.95UCL
AGE_F=(0,54]   145     10     NA      NA      NA
AGE_F=(54,64]  254     25     NA     155      NA
AGE_F=(64,74]  421     68  149.6     132      NA
AGE_F=(74,100] 541    226   81.8      73    95.5

Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ AGE_F, data = data)

                AGE_F=(0,54] 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    128       1    0.993 0.00692        0.980        1.000
   24    120       1    0.985 0.01052        0.965        1.000
   36    107       1    0.976 0.01347        0.950        1.000
   48     93       0    0.976 0.01347        0.950        1.000
   60     76       4    0.931 0.02581        0.881        0.983
  120     24       2    0.897 0.03446        0.832        0.967

                AGE_F=(54,64] 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    227       3    0.988 0.00695        0.974        1.000
   24    209       6    0.961 0.01288        0.936        0.986
   36    176       2    0.950 0.01475        0.922        0.979
   48    151       3    0.933 0.01755        0.899        0.968
   60    126       2    0.920 0.01961        0.882        0.959
  120     37       6    0.863 0.02906        0.808        0.922

                AGE_F=(64,74] 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    370       7    0.983 0.00653        0.970        0.995
   24    319      11    0.952 0.01111        0.930        0.974
   36    265      13    0.911 0.01531        0.882        0.942
   48    228       2    0.904 0.01601        0.873        0.936
   60    190       8    0.871 0.01924        0.834        0.910
  120     37      22    0.684 0.04208        0.606        0.772

                AGE_F=(74,100] 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    460      37    0.928  0.0115        0.905        0.950
   24    385      34    0.856  0.0159        0.825        0.888
   36    317      24    0.798  0.0187        0.762        0.835
   48    252      29    0.720  0.0218        0.679        0.764
   60    200      30    0.630  0.0245        0.584        0.680
  120     27      65    0.306  0.0347        0.245        0.382




   
## Univariable Cox Proportional Hazard Model for:  AGE_F

Call:
coxph(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ AGE_F, data = data)

  n= 1361, number of events= 329 

                coef exp(coef) se(coef)     z Pr(>|z|)    
AGE_F(54,64]  0.4353    1.5455   0.3743 1.163  0.24478    
AGE_F(64,74]  1.0976    2.9970   0.3392 3.236  0.00121 ** 
AGE_F(74,100] 2.2040    9.0610   0.3242 6.798 1.06e-11 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

              exp(coef) exp(-coef) lower .95 upper .95
AGE_F(54,64]      1.545     0.6470    0.7421     3.219
AGE_F(64,74]      2.997     0.3337    1.5414     5.827
AGE_F(74,100]     9.061     0.1104    4.7994    17.106

Concordance= 0.685  (se = 0.017 )
Rsquare= 0.124   (max possible= 0.956 )
Likelihood ratio test= 180.3  on 3 df,   p=0
Wald test            = 147.2  on 3 df,   p=0
Score (logrank) test = 182.4  on 3 df,   p=0
Removed 1 rows containing missing values (geom_errorbar).



   
## Unadjusted Kaplan Meier Overall Survival Curve for:  AGE_F

Age Group

uni_var(test_var = "AGE_40", data_imp = data)
_________________________________________________
   
## AGE_40
_________________________________________________
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ AGE_40, data = data)

                   n events median 0.95LCL 0.95UCL
AGE_40=(0,40]     18      1     NA      NA      NA
AGE_40=(40,100] 1343    328    142     126      NA

Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ AGE_40, data = data)

                AGE_40=(0,40] 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12     14       0    1.000  0.0000        1.000            1
   24     13       1    0.929  0.0688        0.803            1
   36     10       0    0.929  0.0688        0.803            1
   48      9       0    0.929  0.0688        0.803            1
   60      9       0    0.929  0.0688        0.803            1
  120      3       0    0.929  0.0688        0.803            1

                AGE_40=(40,100] 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12   1171      48    0.962 0.00534        0.952        0.973
   24   1020      51    0.918 0.00787        0.903        0.934
   36    855      40    0.880 0.00964        0.861        0.899
   48    715      34    0.842 0.01116        0.821        0.865
   60    583      44    0.787 0.01320        0.761        0.813
  120    122      95    0.581 0.02214        0.540        0.626




   
## Univariable Cox Proportional Hazard Model for:  AGE_40

Call:
coxph(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ AGE_40, data = data)

  n= 1361, number of events= 329 

                coef exp(coef) se(coef)     z Pr(>|z|)
AGE_40(40,100] 1.636     5.136    1.002 1.633    0.102

               exp(coef) exp(-coef) lower .95 upper .95
AGE_40(40,100]     5.136     0.1947    0.7209      36.6

Concordance= 0.504  (se = 0.003 )
Rsquare= 0.004   (max possible= 0.956 )
Likelihood ratio test= 4.94  on 1 df,   p=0.02627
Wald test            = 2.67  on 1 df,   p=0.1024
Score (logrank) test = 3.32  on 1 df,   p=0.0685
Removed 1 rows containing missing values (geom_errorbar).



   
## Unadjusted Kaplan Meier Overall Survival Curve for:  AGE_40

Gender

uni_var(test_var = "SEX_F", data_imp = data)
_________________________________________________
   
## SEX_F
_________________________________________________
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ SEX_F, data = data)

                n events median 0.95LCL 0.95UCL
SEX_F=Male    261     86   82.8    73.6      NA
SEX_F=Female 1100    243  155.4   130.5      NA

Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ SEX_F, data = data)

                SEX_F=Male 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    223      11    0.956  0.0131        0.930        0.982
   24    185      16    0.883  0.0213        0.842        0.925
   36    144      13    0.816  0.0266        0.766        0.870
   48    115      12    0.744  0.0314        0.684        0.808
   60     89      12    0.662  0.0357        0.596        0.736
  120     17      20    0.435  0.0494        0.348        0.544

                SEX_F=Female 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    962      37    0.965 0.00573        0.953        0.976
   24    848      36    0.927 0.00825        0.911        0.943
   36    721      27    0.895 0.00999        0.876        0.915
   48    609      22    0.866 0.01143        0.844        0.889
   60    503      32    0.817 0.01369        0.791        0.844
  120    108      75    0.619 0.02419        0.573        0.668




   
## Univariable Cox Proportional Hazard Model for:  SEX_F

Call:
coxph(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ SEX_F, data = data)

  n= 1361, number of events= 329 

               coef exp(coef) se(coef)      z Pr(>|z|)    
SEX_FFemale -0.6342    0.5303   0.1260 -5.034  4.8e-07 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

            exp(coef) exp(-coef) lower .95 upper .95
SEX_FFemale    0.5303      1.886    0.4143    0.6789

Concordance= 0.555  (se = 0.012 )
Rsquare= 0.017   (max possible= 0.956 )
Likelihood ratio test= 22.75  on 1 df,   p=1.84e-06
Wald test            = 25.34  on 1 df,   p=4.798e-07
Score (logrank) test = 26.19  on 1 df,   p=3.087e-07
Removed 1 rows containing missing values (geom_errorbar).



   
## Unadjusted Kaplan Meier Overall Survival Curve for:  SEX_F

RACE_F

uni_var(test_var = "RACE_F", data_imp = data)
_________________________________________________
   
## RACE_F
_________________________________________________
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ RACE_F, data = data)

                    n events median 0.95LCL 0.95UCL
RACE_F=White     1230    301    142   128.2      NA
RACE_F=Black       25      7     NA    71.5      NA
RACE_F=Other/Unk   35     11    111    97.2      NA
RACE_F=Asian       71     10     NA   108.1      NA

Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ RACE_F, data = data)

                RACE_F=White 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12   1076      41    0.965 0.00539        0.954        0.976
   24    939      50    0.918 0.00825        0.902        0.934
   36    788      36    0.880 0.01004        0.861        0.900
   48    653      32    0.842 0.01166        0.819        0.865
   60    533      41    0.785 0.01383        0.759        0.813
  120    115      85    0.591 0.02242        0.549        0.637

                RACE_F=Black 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12     21       2    0.918  0.0554        0.816        1.000
   24     17       1    0.870  0.0705        0.742        1.000
   36     15       0    0.870  0.0705        0.742        1.000
   48     13       2    0.754  0.0978        0.585        0.972
   60     11       1    0.691  0.1080        0.509        0.939

                RACE_F=Other/Unk 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12     30       2    0.938  0.0422        0.859        1.000
   24     26       1    0.905  0.0523        0.808        1.000
   36     20       2    0.824  0.0723        0.694        0.979
   48     18       0    0.824  0.0723        0.694        0.979
   60     16       1    0.779  0.0815        0.634        0.956
  120      3       5    0.363  0.1446        0.166        0.792

                RACE_F=Asian 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12     58       3    0.953  0.0265        0.903        1.000
   24     51       0    0.953  0.0265        0.903        1.000
   36     42       2    0.912  0.0380        0.841        0.990
   48     40       0    0.912  0.0380        0.841        0.990
   60     32       1    0.887  0.0446        0.804        0.979
  120      7       4    0.663  0.1136        0.474        0.927




   
## Univariable Cox Proportional Hazard Model for:  RACE_F

Call:
coxph(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ RACE_F, data = data)

  n= 1361, number of events= 329 

                   coef exp(coef) se(coef)      z Pr(>|z|)
RACE_FBlack      0.3518    1.4217   0.3828  0.919    0.358
RACE_FOther/Unk  0.1948    1.2151   0.3072  0.634    0.526
RACE_FAsian     -0.5277    0.5900   0.3215 -1.641    0.101

                exp(coef) exp(-coef) lower .95 upper .95
RACE_FBlack         1.422     0.7034    0.6713     3.011
RACE_FOther/Unk     1.215     0.8230    0.6655     2.219
RACE_FAsian         0.590     1.6950    0.3142     1.108

Concordance= 0.516  (se = 0.009 )
Rsquare= 0.003   (max possible= 0.956 )
Likelihood ratio test= 4.48  on 3 df,   p=0.214
Wald test            = 4.06  on 3 df,   p=0.2548
Score (logrank) test = 4.15  on 3 df,   p=0.2457
Removed 1 rows containing missing values (geom_errorbar).



   
## Unadjusted Kaplan Meier Overall Survival Curve for:  RACE_F

Hispanic

uni_var(test_var = "HISPANIC", data_imp = data)
_________________________________________________
   
## HISPANIC
_________________________________________________
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ HISPANIC, data = data)

                    n events median 0.95LCL 0.95UCL
HISPANIC=No      1235    294    142   128.2      NA
HISPANIC=Yes       52      9     NA   125.6      NA
HISPANIC=Unknown   74     26     NA    97.2      NA

Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ HISPANIC, data = data)

                HISPANIC=No 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12   1070      44    0.962 0.00558        0.951        0.973
   24    930      44    0.921 0.00813        0.905        0.937
   36    774      36    0.882 0.01001        0.863        0.902
   48    645      29    0.847 0.01159        0.824        0.870
   60    525      40    0.790 0.01384        0.764        0.818
  120    106      88    0.575 0.02384        0.530        0.624

                HISPANIC=Yes 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12     47       0    1.000  0.0000        1.000        1.000
   24     41       4    0.913  0.0416        0.835        0.998
   36     36       1    0.890  0.0467        0.803        0.986
   48     28       1    0.864  0.0518        0.768        0.972
   60     23       1    0.831  0.0595        0.722        0.956
  120      9       0    0.831  0.0595        0.722        0.956

                HISPANIC=Unknown 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12     68       4    0.945  0.0268        0.894        0.999
   24     62       4    0.888  0.0372        0.818        0.964
   36     55       3    0.843  0.0435        0.762        0.933
   48     51       4    0.782  0.0500        0.690        0.886
   60     44       3    0.736  0.0537        0.637        0.849
  120     10       7    0.571  0.0706        0.448        0.728




   
## Univariable Cox Proportional Hazard Model for:  HISPANIC

Call:
coxph(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ HISPANIC, data = data)

  n= 1361, number of events= 329 

                   coef exp(coef) se(coef)      z Pr(>|z|)
HISPANICYes     -0.4171    0.6589   0.3385 -1.232    0.218
HISPANICUnknown  0.1140    1.1208   0.2050  0.556    0.578

                exp(coef) exp(-coef) lower .95 upper .95
HISPANICYes        0.6589     1.5176    0.3394     1.279
HISPANICUnknown    1.1208     0.8922    0.7500     1.675

Concordance= 0.514  (se = 0.009 )
Rsquare= 0.002   (max possible= 0.956 )
Likelihood ratio test= 2.12  on 2 df,   p=0.3462
Wald test            = 1.9  on 2 df,   p=0.3867
Score (logrank) test = 1.93  on 2 df,   p=0.3818
Removed 1 rows containing missing values (geom_errorbar).



   
## Unadjusted Kaplan Meier Overall Survival Curve for:  HISPANIC

Insurance Status

uni_var(test_var = "INSURANCE_F", data_imp = data)
_________________________________________________
   
## INSURANCE_F
_________________________________________________
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ INSURANCE_F, data = data)

                               n events median 0.95LCL 0.95UCL
INSURANCE_F=Private          454     54     NA   155.4      NA
INSURANCE_F=None              23      4     NA    90.3      NA
INSURANCE_F=Medicaid          22      3     NA      NA      NA
INSURANCE_F=Medicare         838    265    110    97.4     125
INSURANCE_F=Other Government   8      0     NA      NA      NA
INSURANCE_F=Unknown           16      3     NA   105.8      NA

Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ INSURANCE_F, data = data)

                INSURANCE_F=Private 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    400       6    0.986 0.00573        0.975        0.997
   24    364      13    0.953 0.01064        0.932        0.974
   36    315       5    0.939 0.01217        0.915        0.963
   48    269       6    0.919 0.01423        0.892        0.948
   60    224       6    0.897 0.01656        0.865        0.930
  120     57      13    0.812 0.02821        0.759        0.869

                INSURANCE_F=None 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12     18       0    1.000  0.0000        1.000            1
   24     17       0    1.000  0.0000        1.000            1
   36     13       1    0.929  0.0688        0.803            1
   48     12       0    0.929  0.0688        0.803            1
   60     11       1    0.851  0.0973        0.680            1
  120      3       2    0.662  0.1402        0.437            1

                INSURANCE_F=Medicaid 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12     19       1    0.955  0.0444        0.871            1
   24     17       0    0.955  0.0444        0.871            1
   36     14       0    0.955  0.0444        0.871            1
   48     11       2    0.812  0.1003        0.638            1
   60     10       0    0.812  0.1003        0.638            1
  120      3       0    0.812  0.1003        0.638            1

                INSURANCE_F=Medicare 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    727      40    0.950 0.00773        0.935        0.965
   24    615      39    0.896 0.01109        0.875        0.918
   36    508      33    0.845 0.01361        0.818        0.872
   48    421      26    0.799 0.01558        0.769        0.830
   60    338      37    0.724 0.01833        0.689        0.761
  120     58      79    0.449 0.02987        0.394        0.512

                INSURANCE_F=Other Government 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12      6       0        1       0            1            1
   24      6       0        1       0            1            1
   36      5       0        1       0            1            1
   48      3       0        1       0            1            1
   60      2       0        1       0            1            1
  120      1       0        1       0            1            1

                INSURANCE_F=Unknown 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12     15       1    0.938  0.0605        0.826            1
   24     14       0    0.938  0.0605        0.826            1
   36     10       1    0.852  0.0981        0.680            1
   48      8       0    0.852  0.0981        0.680            1
   60      7       0    0.852  0.0981        0.680            1
  120      3       1    0.682  0.1715        0.416            1




   
## Univariable Cox Proportional Hazard Model for:  INSURANCE_F
Loglik converged before variable  4 ; beta may be infinite. 
Call:
coxph(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ INSURANCE_F, data = data)

  n= 1361, number of events= 329 

                                  coef  exp(coef)   se(coef)      z Pr(>|z|)    
INSURANCE_FNone              4.128e-01  1.511e+00  5.183e-01  0.796    0.426    
INSURANCE_FMedicaid          1.934e-01  1.213e+00  5.933e-01  0.326    0.744    
INSURANCE_FMedicare          1.183e+00  3.263e+00  1.497e-01  7.900 2.78e-15 ***
INSURANCE_FOther Government -1.328e+01  1.711e-06  9.120e+02 -0.015    0.988    
INSURANCE_FUnknown           3.700e-01  1.448e+00  5.936e-01  0.623    0.533    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

                            exp(coef) exp(-coef) lower .95 upper .95
INSURANCE_FNone             1.511e+00  6.618e-01    0.5472     4.173
INSURANCE_FMedicaid         1.213e+00  8.242e-01    0.3792     3.882
INSURANCE_FMedicare         3.263e+00  3.064e-01    2.4336     4.376
INSURANCE_FOther Government 1.711e-06  5.846e+05    0.0000       Inf
INSURANCE_FUnknown          1.448e+00  6.907e-01    0.4523     4.634

Concordance= 0.61  (se = 0.015 )
Rsquare= 0.061   (max possible= 0.956 )
Likelihood ratio test= 85.03  on 5 df,   p=1.11e-16
Wald test            = 66.49  on 5 df,   p=5.493e-13
Score (logrank) test = 76.07  on 5 df,   p=5.551e-15
Transformation introduced infinite values in continuous y-axisTransformation introduced infinite values in continuous y-axisTransformation introduced infinite values in continuous y-axisRemoved 1 rows containing missing values (geom_errorbar).Removed 6 rows containing missing values (geom_text).Removed 6 rows containing missing values (geom_text).Removed 6 rows containing missing values (geom_text).Removed 6 rows containing missing values (geom_text).Removed 6 rows containing missing values (geom_text).Removed 1 rows containing missing values (geom_text).



   
## Unadjusted Kaplan Meier Overall Survival Curve for:  INSURANCE_F

Overall Survival pre/post-ACA expansion

uni_var(test_var = "EXPN_GROUP", data_imp = no_Excludes)
_________________________________________________
   
## EXPN_GROUP
_________________________________________________
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ EXPN_GROUP, data = no_Excludes)

                            n events median 0.95LCL 0.95UCL
EXPN_GROUP=Post-Expansion 144     20     NA    82.8      NA
EXPN_GROUP=Pre-Expansion  562    145    132   125.1      NA

Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ EXPN_GROUP, data = no_Excludes)

                EXPN_GROUP=Post-Expansion 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    119       5    0.963  0.0163        0.931        0.995
   24     85       9    0.880  0.0303        0.823        0.942
   36     42       4    0.827  0.0386        0.755        0.906
   48     28       1    0.799  0.0467        0.712        0.896
   60     18       0    0.799  0.0467        0.712        0.896

                EXPN_GROUP=Pre-Expansion 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    498      20    0.963 0.00815        0.947        0.979
   24    457      16    0.931 0.01111        0.909        0.953
   36    394      20    0.888 0.01419        0.860        0.916
   48    322      16    0.849 0.01652        0.818        0.882
   60    253      25    0.778 0.02044        0.739        0.819
  120     51      39    0.586 0.03289        0.525        0.655




   
## Univariable Cox Proportional Hazard Model for:  EXPN_GROUP

Call:
coxph(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ EXPN_GROUP, data = no_Excludes)

  n= 706, number of events= 165 

                           coef exp(coef) se(coef)      z Pr(>|z|)
EXPN_GROUPPre-Expansion -0.2186    0.8036   0.2458 -0.889    0.374

                        exp(coef) exp(-coef) lower .95 upper .95
EXPN_GROUPPre-Expansion    0.8036      1.244    0.4964     1.301

Concordance= 0.519  (se = 0.016 )
Rsquare= 0.001   (max possible= 0.932 )
Likelihood ratio test= 0.75  on 1 df,   p=0.3855
Wald test            = 0.79  on 1 df,   p=0.3739
Score (logrank) test = 0.79  on 1 df,   p=0.373





   
## Unadjusted Kaplan Meier Overall Survival Curve for:  EXPN_GROUP

Education

uni_var(test_var = "EDUCATION_F", data_imp = data)
_________________________________________________
   
## EDUCATION_F
_________________________________________________
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ EDUCATION_F, data = data)

   5 observations deleted due to missingness 
                           n events median 0.95LCL 0.95UCL
EDUCATION_F=21% or more  168     43     NA     114      NA
EDUCATION_F=13 - 20.9%   320     72     NA     116      NA
EDUCATION_F=7 - 12.9%    465    132    132     108      NA
EDUCATION_F=Less than 7% 403     81    155     133      NA

Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ EDUCATION_F, data = data)

5 observations deleted due to missingness 
                EDUCATION_F=21% or more 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    146       8    0.950  0.0174        0.916        0.984
   24    122      10    0.880  0.0266        0.829        0.934
   36    106       4    0.849  0.0299        0.792        0.910
   48     90       3    0.824  0.0323        0.763        0.890
   60     75       4    0.785  0.0361        0.718        0.859
  120     18      12    0.597  0.0576        0.495        0.722

                EDUCATION_F=13 - 20.9% 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    275      13    0.957  0.0117        0.934        0.980
   24    240      13    0.910  0.0168        0.878        0.944
   36    198       7    0.881  0.0196        0.844        0.920
   48    171       6    0.853  0.0220        0.811        0.898
   60    138      10    0.800  0.0264        0.750        0.853
  120     25      20    0.583  0.0491        0.494        0.687

                EDUCATION_F=7 - 12.9% 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    401      20    0.955 0.00986        0.936        0.974
   24    352      14    0.920 0.01316        0.895        0.946
   36    291      20    0.864 0.01735        0.831        0.899
   48    242      16    0.813 0.02045        0.774        0.855
   60    192      21    0.738 0.02431        0.692        0.787
  120     44      35    0.545 0.03483        0.481        0.618

                EDUCATION_F=Less than 7% 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    361       7    0.982 0.00689        0.968        0.995
   24    317      15    0.939 0.01268        0.914        0.964
   36    268       9    0.911 0.01540        0.881        0.941
   48    221       8    0.881 0.01810        0.846        0.917
   60    187       9    0.843 0.02138        0.802        0.886
  120     38      28    0.634 0.04128        0.558        0.721




   
## Univariable Cox Proportional Hazard Model for:  EDUCATION_F

Call:
coxph(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ EDUCATION_F, data = data)

  n= 1356, number of events= 328 
   (5 observations deleted due to missingness)

                            coef exp(coef) se(coef)      z Pr(>|z|)
EDUCATION_F13 - 20.9%   -0.08985   0.91406  0.19281 -0.466    0.641
EDUCATION_F7 - 12.9%     0.16231   1.17622  0.17567  0.924    0.356
EDUCATION_FLess than 7% -0.24097   0.78587  0.18876 -1.277    0.202

                        exp(coef) exp(-coef) lower .95 upper .95
EDUCATION_F13 - 20.9%      0.9141     1.0940    0.6264     1.334
EDUCATION_F7 - 12.9%       1.1762     0.8502    0.8336     1.660
EDUCATION_FLess than 7%    0.7859     1.2725    0.5428     1.138

Concordance= 0.552  (se = 0.017 )
Rsquare= 0.006   (max possible= 0.956 )
Likelihood ratio test= 8.75  on 3 df,   p=0.03281
Wald test            = 8.69  on 3 df,   p=0.03366
Score (logrank) test = 8.78  on 3 df,   p=0.03236
Removed 1 rows containing missing values (geom_errorbar).



   
## Unadjusted Kaplan Meier Overall Survival Curve for:  EDUCATION_F

Urban/Rural

uni_var(test_var = "U_R_F", data_imp = data)
_________________________________________________
   
## U_R_F
_________________________________________________
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ U_R_F, data = data)

   40 observations deleted due to missingness 
               n events median 0.95LCL 0.95UCL
U_R_F=Metro 1107    264    150   128.2      NA
U_R_F=Urban  187     50    133   108.0      NA
U_R_F=Rural   27      6     NA    97.2      NA

Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ U_R_F, data = data)

40 observations deleted due to missingness 
                U_R_F=Metro 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    966      39    0.963 0.00585        0.951        0.974
   24    844      39    0.922 0.00849        0.906        0.939
   36    710      32    0.885 0.01042        0.864        0.905
   48    593      25    0.851 0.01200        0.828        0.875
   60    482      40    0.790 0.01455        0.762        0.819
  120    105      75    0.593 0.02410        0.547        0.642

                U_R_F=Urban 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    164       6    0.966  0.0135        0.940        0.993
   24    139      11    0.899  0.0233        0.854        0.946
   36    116       7    0.850  0.0284        0.796        0.908
   48     99       6    0.805  0.0324        0.744        0.871
   60     82       3    0.780  0.0345        0.715        0.850
  120     14      15    0.561  0.0582        0.458        0.688

                U_R_F=Rural 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12     25       0    1.000  0.0000        1.000         1.00
   24     24       1    0.960  0.0392        0.886         1.00
   36     19       1    0.912  0.0598        0.802         1.00
   48     15       1    0.855  0.0787        0.714         1.00
   60     13       0    0.855  0.0787        0.714         1.00
  120      2       3    0.528  0.1612        0.290         0.96




   
## Univariable Cox Proportional Hazard Model for:  U_R_F

Call:
coxph(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ U_R_F, data = data)

  n= 1321, number of events= 320 
   (40 observations deleted due to missingness)

              coef exp(coef) se(coef)      z Pr(>|z|)
U_R_FUrban  0.1546    1.1672   0.1544  1.001    0.317
U_R_FRural -0.1923    0.8250   0.4129 -0.466    0.641

           exp(coef) exp(-coef) lower .95 upper .95
U_R_FUrban     1.167     0.8568    0.8623     1.580
U_R_FRural     0.825     1.2121    0.3673     1.853

Concordance= 0.516  (se = 0.012 )
Rsquare= 0.001   (max possible= 0.955 )
Likelihood ratio test= 1.26  on 2 df,   p=0.5325
Wald test            = 1.28  on 2 df,   p=0.5276
Score (logrank) test = 1.28  on 2 df,   p=0.5266
Removed 1 rows containing missing values (geom_errorbar).



   
## Unadjusted Kaplan Meier Overall Survival Curve for:  U_R_F

Class (treatment at performing facility)

uni_var(test_var = "CLASS_OF_CASE_F", data_imp = data)
_________________________________________________
   
## CLASS_OF_CASE_F
_________________________________________________
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ CLASS_OF_CASE_F, data = data)

                                  n events median 0.95LCL 0.95UCL
CLASS_OF_CASE_F=Other_Facility   27      6   84.9    53.5      NA
CLASS_OF_CASE_F=All_Part_Prim  1334    323  149.6   128.5      NA

Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ CLASS_OF_CASE_F, data = data)

                CLASS_OF_CASE_F=Other_Facility 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12     18       0    1.000   0.000        1.000            1
   24     13       1    0.944   0.054        0.844            1
   36     12       0    0.944   0.054        0.844            1
   48      7       1    0.850   0.102        0.672            1
   60      6       1    0.729   0.142        0.497            1
  120      1       2    0.389   0.196        0.144            1

                CLASS_OF_CASE_F=All_Part_Prim 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12   1167      48    0.962 0.00536        0.952        0.973
   24   1020      51    0.918 0.00790        0.903        0.934
   36    853      40    0.879 0.00966        0.861        0.899
   48    717      33    0.843 0.01114        0.822        0.865
   60    586      43    0.789 0.01314        0.764        0.815
  120    124      93    0.588 0.02198        0.547        0.633




   
## Univariable Cox Proportional Hazard Model for:  CLASS_OF_CASE_F

Call:
coxph(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ CLASS_OF_CASE_F, data = data)

  n= 1361, number of events= 329 

                                coef exp(coef) se(coef)      z Pr(>|z|)
CLASS_OF_CASE_FAll_Part_Prim -0.5021    0.6053   0.4126 -1.217    0.224

                             exp(coef) exp(-coef) lower .95 upper .95
CLASS_OF_CASE_FAll_Part_Prim    0.6053      1.652    0.2696     1.359

Concordance= 0.501  (se = 0.004 )
Rsquare= 0.001   (max possible= 0.956 )
Likelihood ratio test= 1.27  on 1 df,   p=0.26
Wald test            = 1.48  on 1 df,   p=0.2236
Score (logrank) test = 1.51  on 1 df,   p=0.2188
Removed 1 rows containing missing values (geom_errorbar).



   
## Unadjusted Kaplan Meier Overall Survival Curve for:  CLASS_OF_CASE_F

Year

uni_var(test_var = "YEAR_OF_DIAGNOSIS", data_imp = data)
_________________________________________________
   
## YEAR_OF_DIAGNOSIS
_________________________________________________
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ YEAR_OF_DIAGNOSIS, data = data)

                         n events median 0.95LCL 0.95UCL
YEAR_OF_DIAGNOSIS=2004  84     29     NA   141.8      NA
YEAR_OF_DIAGNOSIS=2005  89     37     NA    97.4      NA
YEAR_OF_DIAGNOSIS=2006 102     34     NA   124.8      NA
YEAR_OF_DIAGNOSIS=2007 114     43  125.1   112.8      NA
YEAR_OF_DIAGNOSIS=2008 123     39     NA   106.7      NA
YEAR_OF_DIAGNOSIS=2009 110     28     NA   100.4      NA
YEAR_OF_DIAGNOSIS=2010 117     26     NA      NA      NA
YEAR_OF_DIAGNOSIS=2011 125     29   78.3    78.3      NA
YEAR_OF_DIAGNOSIS=2012 103     16   71.5    68.4      NA
YEAR_OF_DIAGNOSIS=2013 118     24     NA      NA      NA
YEAR_OF_DIAGNOSIS=2014 122     12     NA      NA      NA
YEAR_OF_DIAGNOSIS=2015 154     12     NA      NA      NA

Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ YEAR_OF_DIAGNOSIS, data = data)

                YEAR_OF_DIAGNOSIS=2004 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12     77       2    0.975  0.0173        0.942        1.000
   24     75       1    0.963  0.0212        0.922        1.000
   36     71       4    0.911  0.0320        0.851        0.976
   48     67       3    0.872  0.0378        0.801        0.949
   60     63       4    0.820  0.0436        0.739        0.910
  120     38       7    0.716  0.0531        0.619        0.828

                YEAR_OF_DIAGNOSIS=2005 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12     76       6    0.931  0.0271        0.879        0.986
   24     72       4    0.882  0.0351        0.816        0.954
   36     70       1    0.870  0.0367        0.801        0.945
   48     64       4    0.819  0.0424        0.740        0.907
   60     58       6    0.742  0.0487        0.653        0.844
  120     37      13    0.563  0.0570        0.462        0.687

                YEAR_OF_DIAGNOSIS=2006 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12     86       4    0.959  0.0201        0.921        0.999
   24     80       3    0.925  0.0273        0.873        0.980
   36     74       3    0.889  0.0331        0.827        0.957
   48     67       5    0.829  0.0405        0.753        0.912
   60     60       4    0.779  0.0450        0.696        0.873
  120     36      12    0.607  0.0563        0.506        0.728

                YEAR_OF_DIAGNOSIS=2007 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    106       4    0.964  0.0175        0.931        0.999
   24     98       6    0.909  0.0275        0.857        0.964
   36     94       2    0.890  0.0299        0.833        0.951
   48     91       3    0.862  0.0332        0.799        0.929
   60     84       6    0.805  0.0383        0.733        0.883
  120     14      20    0.553  0.0569        0.452        0.677

                YEAR_OF_DIAGNOSIS=2008 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    112       6    0.950  0.0200        0.911        0.990
   24    103       3    0.923  0.0247        0.876        0.973
   36     94       7    0.859  0.0327        0.797        0.926
   48     84       5    0.813  0.0370        0.743        0.888
   60     83       0    0.813  0.0370        0.743        0.888

                YEAR_OF_DIAGNOSIS=2009 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12     99       3    0.971  0.0163        0.940        1.000
   24     94       3    0.942  0.0232        0.897        0.988
   36     91       1    0.931  0.0251        0.883        0.982
   48     83       5    0.879  0.0328        0.817        0.946
   60     71       7    0.801  0.0411        0.724        0.885

                YEAR_OF_DIAGNOSIS=2010 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    105       4    0.965  0.0173        0.931        0.999
   24     95       6    0.909  0.0275        0.857        0.964
   36     88       4    0.870  0.0325        0.808        0.936
   48     84       1    0.860  0.0337        0.796        0.928
   60     78       4    0.818  0.0379        0.748        0.896

                YEAR_OF_DIAGNOSIS=2011 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    110       3    0.975  0.0142        0.948        1.000
   24    104       4    0.939  0.0223        0.896        0.984
   36    101       2    0.921  0.0253        0.873        0.972
   48     90       2    0.902  0.0283        0.848        0.959
   60     66      12    0.774  0.0420        0.695        0.861

                YEAR_OF_DIAGNOSIS=2012 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12     91       2    0.979  0.0148        0.950        1.000
   24     84       3    0.946  0.0235        0.901        0.993
   36     74       5    0.889  0.0333        0.826        0.956
   48     63       2    0.864  0.0366        0.795        0.939
   60     29       1    0.848  0.0391        0.775        0.929

                YEAR_OF_DIAGNOSIS=2013 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    104       7    0.938  0.0226        0.895        0.984
   24     92       6    0.882  0.0308        0.824        0.944
   36     77       8    0.802  0.0390        0.729        0.882
   48     31       3    0.750  0.0467        0.664        0.848

                YEAR_OF_DIAGNOSIS=2014 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12     97       4    0.963  0.0181        0.928        0.999
   24     82       5    0.912  0.0282        0.858        0.969
   36     31       2    0.889  0.0318        0.829        0.953

                YEAR_OF_DIAGNOSIS=2015 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    122       3    0.978  0.0128        0.953        1.000
   24     54       8    0.888  0.0329        0.826        0.955




   
## Univariable Cox Proportional Hazard Model for:  YEAR_OF_DIAGNOSIS
X matrix deemed to be singular; variable 12
Call:
coxph(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ YEAR_OF_DIAGNOSIS, data = data)

  n= 1361, number of events= 329 

                        coef exp(coef) se(coef)     z Pr(>|z|)   
YEAR_OF_DIAGNOSIS2005 0.3673    1.4439   0.2519 1.458  0.14482   
YEAR_OF_DIAGNOSIS2006 0.2749    1.3164   0.2582 1.065  0.28708   
YEAR_OF_DIAGNOSIS2007 0.4297    1.5369   0.2491 1.725  0.08450 . 
YEAR_OF_DIAGNOSIS2008 0.3854    1.4702   0.2554 1.509  0.13126   
YEAR_OF_DIAGNOSIS2009 0.2419    1.2737   0.2760 0.877  0.38076   
YEAR_OF_DIAGNOSIS2010 0.2608    1.2979   0.2823 0.924  0.35569   
YEAR_OF_DIAGNOSIS2011 0.4533    1.5736   0.2769 1.637  0.10157   
YEAR_OF_DIAGNOSIS2012 0.2886    1.3346   0.3253 0.887  0.37494   
YEAR_OF_DIAGNOSIS2013 0.8194    2.2692   0.2945 2.783  0.00539 **
YEAR_OF_DIAGNOSIS2014 0.4667    1.5948   0.3615 1.291  0.19664   
YEAR_OF_DIAGNOSIS2015 0.5893    1.8028   0.3659 1.611  0.10725   
YEAR_OF_DIAGNOSIS2016     NA        NA   0.0000    NA       NA   
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

                      exp(coef) exp(-coef) lower .95 upper .95
YEAR_OF_DIAGNOSIS2005     1.444     0.6926    0.8812     2.366
YEAR_OF_DIAGNOSIS2006     1.316     0.7597    0.7936     2.184
YEAR_OF_DIAGNOSIS2007     1.537     0.6507    0.9432     2.504
YEAR_OF_DIAGNOSIS2008     1.470     0.6802    0.8913     2.425
YEAR_OF_DIAGNOSIS2009     1.274     0.7851    0.7415     2.188
YEAR_OF_DIAGNOSIS2010     1.298     0.7705    0.7463     2.257
YEAR_OF_DIAGNOSIS2011     1.574     0.6355    0.9145     2.708
YEAR_OF_DIAGNOSIS2012     1.335     0.7493    0.7054     2.525
YEAR_OF_DIAGNOSIS2013     2.269     0.4407    1.2741     4.041
YEAR_OF_DIAGNOSIS2014     1.595     0.6270    0.7852     3.239
YEAR_OF_DIAGNOSIS2015     1.803     0.5547    0.8800     3.693
YEAR_OF_DIAGNOSIS2016        NA         NA        NA        NA

Concordance= 0.542  (se = 0.018 )
Rsquare= 0.007   (max possible= 0.956 )
Likelihood ratio test= 9.54  on 11 df,   p=0.5719
Wald test            = 9.68  on 11 df,   p=0.5597
Score (logrank) test = 9.84  on 11 df,   p=0.5452
Removed 2 rows containing missing values (geom_errorbar).



   
## Unadjusted Kaplan Meier Overall Survival Curve for:  YEAR_OF_DIAGNOSIS
This manual palette can handle a maximum of 10 values. You have supplied 12.

Primary Site

uni_var(test_var = "SITE_TEXT", data_imp = data)
_________________________________________________
   
## SITE_TEXT
_________________________________________________
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ SITE_TEXT, data = data)

                                                            n events median 0.95LCL 0.95UCL
SITE_TEXT=C44.2 External ear                                2      0     NA      NA      NA
SITE_TEXT=C44.3 Skin of ear and unspecified parts of face   2      1   7.95      NA      NA
SITE_TEXT=C44.4 Skin of scalp and neck                      3      0     NA      NA      NA
SITE_TEXT=C44.5 Skin of trunk                             287     86 131.91    81.2      NA
SITE_TEXT=C44.6 Skin of upper limb and shoulder             7      2     NA    50.2      NA
SITE_TEXT=C44.7 Skin of lower limb and hip                 12      5  81.81    70.2      NA
SITE_TEXT=C44.8 Overlapping lesion of skin                 11      7  32.79    20.3      NA
SITE_TEXT=C44.9 Skin, NOS                                  19     10  55.92    30.2      NA
SITE_TEXT=C50.0 Nipple                                      1      0     NA      NA      NA
SITE_TEXT=C51.0 Labium majus                               92     16     NA      NA      NA
SITE_TEXT=C51.1 Labium minus                               15      3     NA    85.4      NA
SITE_TEXT=C51.2 Clitoris                                    2      0     NA      NA      NA
SITE_TEXT=C51.8 Overlapping lesion of vulva                60     16 149.62   128.5      NA
SITE_TEXT=C51.9 Vulva, NOS                                822    176 155.43   128.2      NA
SITE_TEXT=C52.9 Vagina, NOS                                 1      0     NA      NA      NA
SITE_TEXT=C60.2 Body of penis                               1      0     NA      NA      NA
SITE_TEXT=C60.8 Overlapping lesion of penis                 2      0     NA      NA      NA
SITE_TEXT=C60.9 Penis                                      22      7 108.06    73.2      NA

Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ SITE_TEXT, data = data)

                SITE_TEXT=C44.2 External ear 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12      2       0        1       0            1            1
   24      2       0        1       0            1            1
   36      1       0        1       0            1            1
   48      1       0        1       0            1            1
   60      1       0        1       0            1            1
  120      1       0        1       0            1            1

                SITE_TEXT=C44.3 Skin of ear and unspecified parts of face 
     time n.risk n.event survival std.err lower 95% CI upper 95% CI

                SITE_TEXT=C44.4 Skin of scalp and neck 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12      3       0        1       0            1            1
   24      3       0        1       0            1            1
   36      2       0        1       0            1            1
   48      2       0        1       0            1            1
   60      2       0        1       0            1            1

                SITE_TEXT=C44.5 Skin of trunk 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    245      11    0.960  0.0119        0.937        0.983
   24    207      15    0.898  0.0191        0.861        0.936
   36    165      14    0.833  0.0243        0.787        0.882
   48    129      13    0.763  0.0291        0.708        0.822
   60    104      11    0.694  0.0330        0.633        0.762
  120     17      20    0.503  0.0452        0.422        0.600

                SITE_TEXT=C44.6 Skin of upper limb and shoulder 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12      6       1    0.857   0.132        0.633            1
   24      3       0    0.857   0.132        0.633            1
   36      3       0    0.857   0.132        0.633            1
   48      3       0    0.857   0.132        0.633            1
   60      2       1    0.571   0.249        0.243            1

                SITE_TEXT=C44.7 Skin of lower limb and hip 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12     10       1    0.909  0.0867       0.7541            1
   24      9       1    0.818  0.1163       0.6192            1
   36      4       0    0.818  0.1163       0.6192            1
   48      4       0    0.818  0.1163       0.6192            1
   60      4       0    0.818  0.1163       0.6192            1
  120      1       2    0.273  0.2260       0.0537            1

                SITE_TEXT=C44.8 Overlapping lesion of skin 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12      8       2      0.8   0.126        0.587        1.000
   24      5       3      0.5   0.158        0.269        0.929
   36      5       0      0.5   0.158        0.269        0.929
   48      4       1      0.4   0.155        0.187        0.855
   60      4       0      0.4   0.155        0.187        0.855

                SITE_TEXT=C44.9 Skin, NOS 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12     16       1    0.947  0.0512        0.852        1.000
   24     12       2    0.820  0.0953        0.653        1.000
   36      8       3    0.615  0.1249        0.413        0.916
   48      7       0    0.615  0.1249        0.413        0.916
   60      4       3    0.351  0.1354        0.165        0.748
  120      2       1    0.264  0.1269        0.103        0.677

                SITE_TEXT=C50.0 Nipple 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12      1       0        1       0            1            1
   24      1       0        1       0            1            1
   36      1       0        1       0            1            1

                SITE_TEXT=C51.0 Labium majus 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12     79       2    0.977  0.0159        0.947        1.000
   24     68       3    0.938  0.0268        0.887        0.992
   36     60       0    0.938  0.0268        0.887        0.992
   48     49       2    0.904  0.0350        0.838        0.976
   60     47       0    0.904  0.0350        0.838        0.976
  120     12       9    0.661  0.0785        0.523        0.834

                SITE_TEXT=C51.1 Labium minus 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12     13       1    0.929  0.0688        0.803            1
   24     11       0    0.929  0.0688        0.803            1
   36     10       1    0.844  0.1019        0.666            1
   48      8       0    0.844  0.1019        0.666            1
   60      7       0    0.844  0.1019        0.666            1
  120      1       1    0.703  0.1540        0.458            1

                SITE_TEXT=C51.2 Clitoris 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12      2       0        1       0            1            1
   24      1       0        1       0            1            1
   36      1       0        1       0            1            1
   48      1       0        1       0            1            1
   60      1       0        1       0            1            1

                SITE_TEXT=C51.8 Overlapping lesion of vulva 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12     49       3    0.946  0.0303        0.888        1.000
   24     49       0    0.946  0.0303        0.888        1.000
   36     42       3    0.884  0.0447        0.801        0.976
   48     36       2    0.840  0.0524        0.743        0.949
   60     32       1    0.814  0.0566        0.711        0.933
  120      9       5    0.645  0.0833        0.501        0.831

                SITE_TEXT=C51.9 Vulva, NOS 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    726      24    0.969 0.00618        0.957        0.981
   24    643      27    0.932 0.00922        0.914        0.950
   36    545      19    0.902 0.01119        0.880        0.924
   48    464      15    0.876 0.01278        0.851        0.901
   60    373      27    0.820 0.01580        0.790        0.852
  120     80      53    0.620 0.02887        0.566        0.679

                SITE_TEXT=C52.9 Vagina, NOS 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12      1       0        1       0            1            1
   24      1       0        1       0            1            1
   36      1       0        1       0            1            1
   48      1       0        1       0            1            1

                SITE_TEXT=C60.2 Body of penis 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12      1       0        1       0            1            1
   24      1       0        1       0            1            1
   36      1       0        1       0            1            1
   48      1       0        1       0            1            1
   60      1       0        1       0            1            1

                SITE_TEXT=C60.8 Overlapping lesion of penis 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12      2       0        1       0            1            1
   24      1       0        1       0            1            1
   36      1       0        1       0            1            1
   48      1       0        1       0            1            1
   60      1       0        1       0            1            1
  120      1       0        1       0            1            1

                SITE_TEXT=C60.9 Penis 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12     21       1    0.955  0.0444       0.8714            1
   24     16       1    0.898  0.0687       0.7734            1
   36     15       0    0.898  0.0687       0.7734            1
   48     13       1    0.834  0.0888       0.6771            1
   60      9       1    0.770  0.1026       0.5931            1
  120      1       3    0.257  0.1990       0.0562            1




   
## Univariable Cox Proportional Hazard Model for:  SITE_TEXT
Loglik converged before variable  11,13,19,22,25,28,29 ; beta may be infinite. X matrix deemed to be singular; variable 1 2 3 4 5 6 7 8 9 10 26 27 30
Call:
coxph(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ SITE_TEXT, data = data)

  n= 1361, number of events= 329 

                                                               coef  exp(coef)   se(coef)      z Pr(>|z|)   
SITE_TEXTC00.1 External Lip: Lower NOS                           NA         NA  0.000e+00     NA       NA   
SITE_TEXTC00.2  External Lip: NOS                                NA         NA  0.000e+00     NA       NA   
SITE_TEXTC00.3 Lip: Upper Mucosa                                 NA         NA  0.000e+00     NA       NA   
SITE_TEXTC00.4 Lip: Lower Mucosa                                 NA         NA  0.000e+00     NA       NA   
SITE_TEXTC00.5 Lip: Mucosa NOS                                   NA         NA  0.000e+00     NA       NA   
SITE_TEXTC00.6 Lip: Commissure                                   NA         NA  0.000e+00     NA       NA   
SITE_TEXTC00.8 Lip: Overlapping                                  NA         NA  0.000e+00     NA       NA   
SITE_TEXTC00.9 Lip, NOS                                          NA         NA  0.000e+00     NA       NA   
SITE_TEXTC44.0 Skin of lip, NOS                                  NA         NA  0.000e+00     NA       NA   
SITE_TEXTC44.1 Eyelid                                            NA         NA  0.000e+00     NA       NA   
SITE_TEXTC44.2 External ear                              -1.556e+01  1.739e-07  2.273e+03 -0.007   0.9945   
SITE_TEXTC44.3 Skin of ear and unspecified parts of face  3.212e+00  2.482e+01  1.086e+00  2.958   0.0031 **
SITE_TEXTC44.4 Skin of scalp and neck                    -1.555e+01  1.768e-07  2.330e+03 -0.007   0.9947   
SITE_TEXTC44.5 Skin of trunk                              5.459e-02  1.056e+00  3.932e-01  0.139   0.8896   
SITE_TEXTC44.6 Skin of upper limb and shoulder            2.825e-01  1.326e+00  8.020e-01  0.352   0.7247   
SITE_TEXTC44.7 Skin of lower limb and hip                 5.495e-01  1.732e+00  5.859e-01  0.938   0.3483   
SITE_TEXTC44.8 Overlapping lesion of skin                 1.017e+00  2.766e+00  5.348e-01  1.902   0.0572 . 
SITE_TEXTC44.9 Skin, NOS                                  7.677e-01  2.155e+00  4.933e-01  1.556   0.1196   
SITE_TEXTC50.0 Nipple                                    -1.554e+01  1.787e-07  5.114e+03 -0.003   0.9976   
SITE_TEXTC51.0 Labium majus                              -7.908e-01  4.535e-01  4.537e-01 -1.743   0.0813 . 
SITE_TEXTC51.1 Labium minus                              -6.349e-01  5.300e-01  6.908e-01 -0.919   0.3580   
SITE_TEXTC51.2 Clitoris                                  -1.555e+01  1.758e-07  2.938e+03 -0.005   0.9958   
SITE_TEXTC51.8 Overlapping lesion of vulva               -3.929e-01  6.751e-01  4.536e-01 -0.866   0.3864   
SITE_TEXTC51.9 Vulva, NOS                                -5.073e-01  6.021e-01  3.857e-01 -1.315   0.1884   
SITE_TEXTC52.9 Vagina, NOS                               -1.554e+01  1.784e-07  4.807e+03 -0.003   0.9974   
SITE_TEXTC60.0 Prepuce                                           NA         NA  0.000e+00     NA       NA   
SITE_TEXTC60.1 Glans penis                                       NA         NA  0.000e+00     NA       NA   
SITE_TEXTC60.2 Body of penis                             -1.554e+01  1.774e-07  3.999e+03 -0.004   0.9969   
SITE_TEXTC60.8 Overlapping lesion of penis               -1.556e+01  1.748e-07  2.566e+03 -0.006   0.9952   
SITE_TEXTC60.9 Penis                                             NA         NA  0.000e+00     NA       NA   
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

                                                         exp(coef) exp(-coef) lower .95 upper .95
SITE_TEXTC00.1 External Lip: Lower NOS                          NA         NA        NA        NA
SITE_TEXTC00.2  External Lip: NOS                               NA         NA        NA        NA
SITE_TEXTC00.3 Lip: Upper Mucosa                                NA         NA        NA        NA
SITE_TEXTC00.4 Lip: Lower Mucosa                                NA         NA        NA        NA
SITE_TEXTC00.5 Lip: Mucosa NOS                                  NA         NA        NA        NA
SITE_TEXTC00.6 Lip: Commissure                                  NA         NA        NA        NA
SITE_TEXTC00.8 Lip: Overlapping                                 NA         NA        NA        NA
SITE_TEXTC00.9 Lip, NOS                                         NA         NA        NA        NA
SITE_TEXTC44.0 Skin of lip, NOS                                 NA         NA        NA        NA
SITE_TEXTC44.1 Eyelid                                           NA         NA        NA        NA
SITE_TEXTC44.2 External ear                              1.739e-07  5.752e+06    0.0000       Inf
SITE_TEXTC44.3 Skin of ear and unspecified parts of face 2.482e+01  4.029e-02    2.9546   208.468
SITE_TEXTC44.4 Skin of scalp and neck                    1.768e-07  5.657e+06    0.0000       Inf
SITE_TEXTC44.5 Skin of trunk                             1.056e+00  9.469e-01    0.4887     2.282
SITE_TEXTC44.6 Skin of upper limb and shoulder           1.326e+00  7.539e-01    0.2754     6.388
SITE_TEXTC44.7 Skin of lower limb and hip                1.732e+00  5.772e-01    0.5495     5.462
SITE_TEXTC44.8 Overlapping lesion of skin                2.766e+00  3.616e-01    0.9694     7.889
SITE_TEXTC44.9 Skin, NOS                                 2.155e+00  4.641e-01    0.8195     5.666
SITE_TEXTC50.0 Nipple                                    1.787e-07  5.597e+06    0.0000       Inf
SITE_TEXTC51.0 Labium majus                              4.535e-01  2.205e+00    0.1864     1.103
SITE_TEXTC51.1 Labium minus                              5.300e-01  1.887e+00    0.1369     2.052
SITE_TEXTC51.2 Clitoris                                  1.758e-07  5.688e+06    0.0000       Inf
SITE_TEXTC51.8 Overlapping lesion of vulva               6.751e-01  1.481e+00    0.2775     1.642
SITE_TEXTC51.9 Vulva, NOS                                6.021e-01  1.661e+00    0.2828     1.282
SITE_TEXTC52.9 Vagina, NOS                               1.784e-07  5.604e+06    0.0000       Inf
SITE_TEXTC60.0 Prepuce                                          NA         NA        NA        NA
SITE_TEXTC60.1 Glans penis                                      NA         NA        NA        NA
SITE_TEXTC60.2 Body of penis                             1.774e-07  5.636e+06    0.0000       Inf
SITE_TEXTC60.8 Overlapping lesion of penis               1.748e-07  5.722e+06    0.0000       Inf
SITE_TEXTC60.9 Penis                                            NA         NA        NA        NA

Concordance= 0.593  (se = 0.015 )
Rsquare= 0.039   (max possible= 0.956 )
Likelihood ratio test= 53.89  on 17 df,   p=1.03e-05
Wald test            = 61.46  on 17 df,   p=6.033e-07
Score (logrank) test = 89.01  on 17 df,   p=9.244e-12
Transformation introduced infinite values in continuous y-axisTransformation introduced infinite values in continuous y-axisTransformation introduced infinite values in continuous y-axisRemoved 14 rows containing missing values (geom_errorbar).Removed 31 rows containing missing values (geom_text).Removed 31 rows containing missing values (geom_text).Removed 31 rows containing missing values (geom_text).Removed 31 rows containing missing values (geom_text).Removed 31 rows containing missing values (geom_text).Removed 1 rows containing missing values (geom_text).



   
## Unadjusted Kaplan Meier Overall Survival Curve for:  SITE_TEXT
This manual palette can handle a maximum of 10 values. You have supplied 18.

Histology

#uni_var(test_var = "HISTOLOGY_F_LIM", data_imp = data)

Grade

uni_var(test_var = "GRADE_F", data_imp = data)
_________________________________________________
   
## GRADE_F
_________________________________________________
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ GRADE_F, data = data)

                             n events median 0.95LCL 0.95UCL
GRADE_F=Gr I: Well Diff     38     10  131.9    70.3      NA
GRADE_F=Gr II: Mod Diff     30     15   67.1    51.4      NA
GRADE_F=Gr III: Poor Diff   36     23   29.3    21.6      NA
GRADE_F=NA/Unkown         1257    281  155.4   133.1      NA

Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ GRADE_F, data = data)

                GRADE_F=Gr I: Well Diff 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12     37       0    1.000  0.0000        1.000         1.00
   24     34       2    0.945  0.0377        0.874         1.00
   36     30       1    0.916  0.0467        0.829         1.00
   48     20       0    0.916  0.0467        0.829         1.00
   60     15       3    0.771  0.0861        0.620         0.96
  120      4       3    0.591  0.1131        0.406         0.86

                GRADE_F=Gr II: Mod Diff 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12     25       3    0.893  0.0585        0.785        1.000
   24     18       5    0.709  0.0867        0.558        0.901
   36     15       0    0.709  0.0867        0.558        0.901
   48     14       1    0.662  0.0929        0.503        0.872
   60     10       3    0.516  0.1041        0.347        0.766
  120      1       3    0.199  0.1510        0.045        0.880

                GRADE_F=Gr III: Poor Diff 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12     28       4    0.884  0.0548       0.7826        0.998
   24     15      10    0.537  0.0920       0.3843        0.752
   36     10       4    0.384  0.0924       0.2396        0.615
   48      9       1    0.345  0.0907       0.2065        0.578
   60      8       1    0.307  0.0884       0.1747        0.540
  120      1       2    0.134  0.1041       0.0294        0.614

                GRADE_F=NA/Unkown 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12   1095      41    0.965 0.00530        0.955        0.976
   24    966      35    0.933 0.00742        0.919        0.948
   36    810      35    0.897 0.00934        0.879        0.915
   48    681      32    0.859 0.01107        0.838        0.881
   60    559      37    0.809 0.01314        0.784        0.835
  120    119      87    0.607 0.02270        0.564        0.653




   
## Univariable Cox Proportional Hazard Model for:  GRADE_F
X matrix deemed to be singular; variable 3 4 5 6 7
Call:
coxph(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ GRADE_F, data = data)

  n= 1361, number of events= 329 

                                   coef exp(coef) se(coef)      z Pr(>|z|)    
GRADE_FGr II: Mod Diff           0.8651    2.3753   0.4085  2.118 0.034176 *  
GRADE_FGr III: Poor Diff         1.4655    4.3297   0.3794  3.863 0.000112 ***
GRADE_FGr IV: Undiff/Anaplastic      NA        NA   0.0000     NA       NA    
GRADE_F5                             NA        NA   0.0000     NA       NA    
GRADE_F6                             NA        NA   0.0000     NA       NA    
GRADE_F7                             NA        NA   0.0000     NA       NA    
GRADE_F8                             NA        NA   0.0000     NA       NA    
GRADE_FNA/Unkown                -0.1722    0.8418   0.3220 -0.535 0.592789    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

                                exp(coef) exp(-coef) lower .95 upper .95
GRADE_FGr II: Mod Diff             2.3753      0.421    1.0667     5.289
GRADE_FGr III: Poor Diff           4.3297      0.231    2.0584     9.107
GRADE_FGr IV: Undiff/Anaplastic        NA         NA        NA        NA
GRADE_F5                               NA         NA        NA        NA
GRADE_F6                               NA         NA        NA        NA
GRADE_F7                               NA         NA        NA        NA
GRADE_F8                               NA         NA        NA        NA
GRADE_FNA/Unkown                   0.8418      1.188    0.4479     1.582

Concordance= 0.553  (se = 0.008 )
Rsquare= 0.034   (max possible= 0.956 )
Likelihood ratio test= 47.21  on 3 df,   p=3.134e-10
Wald test            = 68.23  on 3 df,   p=1.021e-14
Score (logrank) test = 82.5  on 3 df,   p=0
Removed 6 rows containing missing values (geom_errorbar).



   
## Unadjusted Kaplan Meier Overall Survival Curve for:  GRADE_F

Clinical T Stage

#uni_var(test_var = "TNM_CLIN_T", data_imp = data)

Clinical N Stage

#uni_var(test_var = "TNM_CLIN_N", data_imp = data)

Clinical M Stage

#uni_var(test_var = "TNM_CLIN_M", data_imp = data)

Clinical Stage Group

uni_var(test_var = "TNM_CLIN_STAGE_GROUP", data_imp = data)
_________________________________________________
   
## TNM_CLIN_STAGE_GROUP
_________________________________________________
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ TNM_CLIN_STAGE_GROUP, data = data)

                           n events median 0.95LCL 0.95UCL
TNM_CLIN_STAGE_GROUP=0    65     14  155.4  114.99      NA
TNM_CLIN_STAGE_GROUP=1   196     35     NA  103.66      NA
TNM_CLIN_STAGE_GROUP=1A  109     14     NA      NA      NA
TNM_CLIN_STAGE_GROUP=1B  119     19     NA      NA      NA
TNM_CLIN_STAGE_GROUP=2   184     51  121.8   97.25      NA
TNM_CLIN_STAGE_GROUP=3    15      4     NA  110.72      NA
TNM_CLIN_STAGE_GROUP=3B    1      1   20.9      NA      NA
TNM_CLIN_STAGE_GROUP=4     9      7   22.2   10.81      NA
TNM_CLIN_STAGE_GROUP=4A    2      0     NA      NA      NA
TNM_CLIN_STAGE_GROUP=4B    5      5   12.9    6.67      NA
TNM_CLIN_STAGE_GROUP=N_A   1      0     NA      NA      NA
TNM_CLIN_STAGE_GROUP=99  655    179  133.4  126.09      NA

Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ TNM_CLIN_STAGE_GROUP, data = data)

                TNM_CLIN_STAGE_GROUP=0 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12     58       2    0.966  0.0234        0.922        1.000
   24     50       2    0.932  0.0331        0.869        0.999
   36     49       1    0.913  0.0373        0.843        0.989
   48     39       0    0.913  0.0373        0.843        0.989
   60     31       3    0.837  0.0543        0.737        0.950
  120      7       5    0.613  0.1068        0.436        0.862

                TNM_CLIN_STAGE_GROUP=1 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    169       7    0.962  0.0140        0.935        0.990
   24    151       4    0.939  0.0180        0.904        0.974
   36    126       4    0.911  0.0220        0.869        0.956
   48    105       4    0.882  0.0258        0.832        0.934
   60     85       5    0.836  0.0317        0.776        0.900
  120     11      11    0.610  0.0665        0.492        0.755

                TNM_CLIN_STAGE_GROUP=1A 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12     93       2    0.979  0.0144        0.951        1.000
   24     82       4    0.937  0.0251        0.889        0.987
   36     69       2    0.912  0.0297        0.856        0.972
   48     53       0    0.912  0.0297        0.856        0.972
   60     37       4    0.836  0.0457        0.751        0.930
  120      9       1    0.812  0.0503        0.719        0.917

                TNM_CLIN_STAGE_GROUP=1B 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    105       3    0.974  0.0146        0.946        1.000
   24     92       5    0.926  0.0253        0.877        0.977
   36     66       4    0.879  0.0332        0.816        0.947
   48     54       1    0.864  0.0359        0.797        0.937
   60     42       1    0.847  0.0391        0.774        0.927
  120      3       5    0.703  0.0691        0.580        0.852

                TNM_CLIN_STAGE_GROUP=2 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    163       4    0.977  0.0115        0.954        1.000
   24    139       8    0.926  0.0206        0.887        0.967
   36    115       6    0.883  0.0260        0.834        0.936
   48     96       5    0.841  0.0309        0.782        0.904
   60     82       8    0.768  0.0375        0.698        0.845
  120     13      16    0.538  0.0576        0.436        0.664

                TNM_CLIN_STAGE_GROUP=3 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12     13       2    0.867  0.0878        0.711            1
   24     13       0    0.867  0.0878        0.711            1
   36     12       1    0.800  0.1033        0.621            1
   48     12       0    0.800  0.1033        0.621            1
   60     12       0    0.800  0.1033        0.621            1
  120      1       1    0.533  0.2284        0.230            1

                TNM_CLIN_STAGE_GROUP=3B 
        time       n.risk      n.event     survival      std.err lower 95% CI upper 95% CI 
          12            1            0            1            0            1            1 

                TNM_CLIN_STAGE_GROUP=4 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12      6       3    0.667   0.157       0.4200        1.000
   24      3       3    0.333   0.157       0.1323        0.840
   36      2       1    0.222   0.139       0.0655        0.754
   48      1       0    0.222   0.139       0.0655        0.754
   60      1       0    0.222   0.139       0.0655        0.754

                TNM_CLIN_STAGE_GROUP=4A 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12      2       0        1       0            1            1
   24      1       0        1       0            1            1
   36      1       0        1       0            1            1

                TNM_CLIN_STAGE_GROUP=4B 
        time       n.risk      n.event     survival      std.err lower 95% CI upper 95% CI 
      12.000        3.000        2.000        0.600        0.219        0.293        1.000 

                TNM_CLIN_STAGE_GROUP=N_A 
     time n.risk n.event survival std.err lower 95% CI upper 95% CI

                TNM_CLIN_STAGE_GROUP=99 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    572      23    0.963 0.00749        0.949        0.978
   24    502      22    0.925 0.01084        0.904        0.946
   36    425      21    0.883 0.01363        0.857        0.910
   48    364      24    0.831 0.01649        0.799        0.864
   60    302      23    0.775 0.01904        0.739        0.813
  120     81      56    0.571 0.02868        0.518        0.630




   
## Univariable Cox Proportional Hazard Model for:  TNM_CLIN_STAGE_GROUP
Loglik converged before variable  14,17 ; beta may be infinite. X matrix deemed to be singular; variable 4 6 7 8 10 12 16
Call:
coxph(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ TNM_CLIN_STAGE_GROUP, data = data)

  n= 1361, number of events= 329 

                              coef  exp(coef)   se(coef)      z Pr(>|z|)    
TNM_CLIN_STAGE_GROUP1   -7.613e-03  9.924e-01  3.165e-01 -0.024  0.98081    
TNM_CLIN_STAGE_GROUP1A  -2.858e-01  7.514e-01  3.781e-01 -0.756  0.44982    
TNM_CLIN_STAGE_GROUP1B   6.981e-02  1.072e+00  3.531e-01  0.198  0.84325    
TNM_CLIN_STAGE_GROUP1C          NA         NA  0.000e+00     NA       NA    
TNM_CLIN_STAGE_GROUP2    3.737e-01  1.453e+00  3.018e-01  1.238  0.21572    
TNM_CLIN_STAGE_GROUP2A          NA         NA  0.000e+00     NA       NA    
TNM_CLIN_STAGE_GROUP2B          NA         NA  0.000e+00     NA       NA    
TNM_CLIN_STAGE_GROUP2C          NA         NA  0.000e+00     NA       NA    
TNM_CLIN_STAGE_GROUP3   -4.767e-02  9.534e-01  5.674e-01 -0.084  0.93304    
TNM_CLIN_STAGE_GROUP3A          NA         NA  0.000e+00     NA       NA    
TNM_CLIN_STAGE_GROUP3B   2.934e+00  1.881e+01  1.040e+00  2.821  0.00479 ** 
TNM_CLIN_STAGE_GROUP3C          NA         NA  0.000e+00     NA       NA    
TNM_CLIN_STAGE_GROUP4    2.332e+00  1.030e+01  4.653e-01  5.012 5.40e-07 ***
TNM_CLIN_STAGE_GROUP4A  -1.243e+01  3.992e-06  1.258e+03 -0.010  0.99212    
TNM_CLIN_STAGE_GROUP4B   3.699e+00  4.040e+01  5.366e-01  6.893 5.46e-12 ***
TNM_CLIN_STAGE_GROUP4C          NA         NA  0.000e+00     NA       NA    
TNM_CLIN_STAGE_GROUPN_A -1.242e+01  4.043e-06  7.664e+03 -0.002  0.99871    
TNM_CLIN_STAGE_GROUP99   2.609e-01  1.298e+00  2.776e-01  0.940  0.34729    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

                        exp(coef) exp(-coef) lower .95 upper .95
TNM_CLIN_STAGE_GROUP1   9.924e-01  1.008e+00    0.5337     1.845
TNM_CLIN_STAGE_GROUP1A  7.514e-01  1.331e+00    0.3581     1.577
TNM_CLIN_STAGE_GROUP1B  1.072e+00  9.326e-01    0.5368     2.142
TNM_CLIN_STAGE_GROUP1C         NA         NA        NA        NA
TNM_CLIN_STAGE_GROUP2   1.453e+00  6.882e-01    0.8042     2.626
TNM_CLIN_STAGE_GROUP2A         NA         NA        NA        NA
TNM_CLIN_STAGE_GROUP2B         NA         NA        NA        NA
TNM_CLIN_STAGE_GROUP2C         NA         NA        NA        NA
TNM_CLIN_STAGE_GROUP3   9.534e-01  1.049e+00    0.3136     2.899
TNM_CLIN_STAGE_GROUP3A         NA         NA        NA        NA
TNM_CLIN_STAGE_GROUP3B  1.881e+01  5.317e-02    2.4491   144.443
TNM_CLIN_STAGE_GROUP3C         NA         NA        NA        NA
TNM_CLIN_STAGE_GROUP4   1.030e+01  9.712e-02    4.1365    25.628
TNM_CLIN_STAGE_GROUP4A  3.992e-06  2.505e+05    0.0000       Inf
TNM_CLIN_STAGE_GROUP4B  4.040e+01  2.475e-02   14.1128   115.648
TNM_CLIN_STAGE_GROUP4C         NA         NA        NA        NA
TNM_CLIN_STAGE_GROUPN_A 4.043e-06  2.473e+05    0.0000       Inf
TNM_CLIN_STAGE_GROUP99  1.298e+00  7.704e-01    0.7534     2.236

Concordance= 0.56  (se = 0.017 )
Rsquare= 0.039   (max possible= 0.956 )
Likelihood ratio test= 54.82  on 11 df,   p=8.353e-08
Wald test            = 97.88  on 11 df,   p=4.441e-16
Score (logrank) test = 201.8  on 11 df,   p=0
Transformation introduced infinite values in continuous y-axisTransformation introduced infinite values in continuous y-axisTransformation introduced infinite values in continuous y-axisRemoved 8 rows containing missing values (geom_errorbar).Removed 19 rows containing missing values (geom_text).Removed 19 rows containing missing values (geom_text).Removed 19 rows containing missing values (geom_text).Removed 19 rows containing missing values (geom_text).Removed 19 rows containing missing values (geom_text).Removed 1 rows containing missing values (geom_text).



   
## Unadjusted Kaplan Meier Overall Survival Curve for:  TNM_CLIN_STAGE_GROUP
This manual palette can handle a maximum of 10 values. You have supplied 12.

Pathologic T Stage

#uni_var(test_var = "TNM_PATH_T", data_imp = data)

Pathologic N Stage

uni_var(test_var = "TNM_PATH_N", data_imp = data)
_________________________________________________
   
## TNM_PATH_N
_________________________________________________
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ TNM_PATH_N, data = data)

   213 observations deleted due to missingness 
                 n events median 0.95LCL 0.95UCL
TNM_PATH_N=N_A   1      0     NA      NA      NA
TNM_PATH_N=p0  282     52 155.43   125.7      NA
TNM_PATH_N=p1    9      7  23.56    21.6      NA
TNM_PATH_N=p1A   1      1  39.16      NA      NA
TNM_PATH_N=p1B   1      1   2.04      NA      NA
TNM_PATH_N=p2    1      1   1.87      NA      NA
TNM_PATH_N=p2B   1      0     NA      NA      NA
TNM_PATH_N=p2C   6      5  14.06    11.2      NA
TNM_PATH_N=p3    1      1   4.34      NA      NA
TNM_PATH_N=pX  845    228 141.77   126.1      NA
Error in array(xx, dim = dd) : negative length vectors are not allowed

Pathologic M Stage

uni_var(test_var = "TNM_PATH_M", data_imp = data)
_________________________________________________
   
## TNM_PATH_M
_________________________________________________
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ TNM_PATH_M, data = data)

   455 observations deleted due to missingness 
                n events median 0.95LCL 0.95UCL
TNM_PATH_M=p1   1      1   13.5      NA      NA
TNM_PATH_M=pX 260     97  131.9     125      NA

Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ TNM_PATH_M, data = data)

455 observations deleted due to missingness 
                TNM_PATH_M=p1 
        time       n.risk      n.event     survival      std.err lower 95% CI upper 95% CI 
          12            1            0            1            0            1            1 

                TNM_PATH_M=pX 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    233      12    0.953  0.0134        0.927        0.979
   24    221       8    0.920  0.0173        0.886        0.954
   36    209      11    0.874  0.0212        0.833        0.916
   48    190      14    0.815  0.0250        0.767        0.865
   60    173      13    0.758  0.0277        0.706        0.815
  120     53      30    0.592  0.0355        0.526        0.666




   
## Univariable Cox Proportional Hazard Model for:  TNM_PATH_M
X matrix deemed to be singular; variable 2 3 4 5
Call:
coxph(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ TNM_PATH_M, data = data)

  n= 261, number of events= 98 
   (455 observations deleted due to missingness)

                coef exp(coef) se(coef)     z Pr(>|z|)   
TNM_PATH_Mp1   3.021    20.509    1.041 2.902  0.00371 **
TNM_PATH_Mp1A     NA        NA    0.000    NA       NA   
TNM_PATH_Mp1B     NA        NA    0.000    NA       NA   
TNM_PATH_Mp1C     NA        NA    0.000    NA       NA   
TNM_PATH_MpX      NA        NA    0.000    NA       NA   
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

              exp(coef) exp(-coef) lower .95 upper .95
TNM_PATH_Mp1      20.51    0.04876     2.667     157.7
TNM_PATH_Mp1A        NA         NA        NA        NA
TNM_PATH_Mp1B        NA         NA        NA        NA
TNM_PATH_Mp1C        NA         NA        NA        NA
TNM_PATH_MpX         NA         NA        NA        NA

Concordance= 0.507  (se = 0.002 )
Rsquare= 0.015   (max possible= 0.977 )
Likelihood ratio test= 4.07  on 1 df,   p=0.04376
Wald test            = 8.42  on 1 df,   p=0.003705
Score (logrank) test = 17.13  on 1 df,   p=3.493e-05
Removed 5 rows containing missing values (geom_errorbar).



   
## Unadjusted Kaplan Meier Overall Survival Curve for:  TNM_PATH_M

Pathologic Stage Group

uni_var(test_var = "TNM_PATH_STAGE_GROUP", data_imp = data)
_________________________________________________
   
## TNM_PATH_STAGE_GROUP
_________________________________________________
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ TNM_PATH_STAGE_GROUP, data = data)

   79 observations deleted due to missingness 
                           n events median 0.95LCL 0.95UCL
TNM_PATH_STAGE_GROUP=0    58     12     NA  128.46      NA
TNM_PATH_STAGE_GROUP=1   107     18     NA  120.94      NA
TNM_PATH_STAGE_GROUP=1A  104     18  155.4  114.99      NA
TNM_PATH_STAGE_GROUP=1B   92     13     NA      NA      NA
TNM_PATH_STAGE_GROUP=2   120     24     NA  130.53      NA
TNM_PATH_STAGE_GROUP=3    26     14  110.7   49.74      NA
TNM_PATH_STAGE_GROUP=3A    2      2   20.6    2.04      NA
TNM_PATH_STAGE_GROUP=3C    5      4   14.6   11.17      NA
TNM_PATH_STAGE_GROUP=4     4      2   23.6    5.06      NA
TNM_PATH_STAGE_GROUP=4A    5      3   16.9    4.34      NA
TNM_PATH_STAGE_GROUP=4B    1      1   13.5      NA      NA
TNM_PATH_STAGE_GROUP=N_A   1      0     NA      NA      NA
TNM_PATH_STAGE_GROUP=99  757    204  133.1  115.94      NA

Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ TNM_PATH_STAGE_GROUP, data = data)

79 observations deleted due to missingness 
                TNM_PATH_STAGE_GROUP=0 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12     52       1    0.981  0.0190        0.944        1.000
   24     46       1    0.961  0.0269        0.910        1.000
   36     43       1    0.939  0.0340        0.875        1.000
   48     39       0    0.939  0.0340        0.875        1.000
   60     33       2    0.888  0.0477        0.800        0.987
  120     10       6    0.694  0.0806        0.553        0.872

                TNM_PATH_STAGE_GROUP=1 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12     92       1    0.990 0.00985        0.971        1.000
   24     84       1    0.979 0.01503        0.950        1.000
   36     76       1    0.966 0.01948        0.928        1.000
   48     66       2    0.940 0.02613        0.890        0.993
   60     54       4    0.879 0.03833        0.807        0.958
  120     11       7    0.668 0.08129        0.526        0.848

                TNM_PATH_STAGE_GROUP=1A 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12     97       1    0.990  0.0100        0.970        1.000
   24     87       3    0.958  0.0206        0.918        0.999
   36     77       3    0.923  0.0280        0.870        0.980
   48     58       2    0.896  0.0331        0.834        0.963
   60     45       3    0.844  0.0426        0.765        0.932
  120      9       5    0.652  0.0895        0.498        0.853

                TNM_PATH_STAGE_GROUP=1B 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12     78       2    0.977  0.0161        0.946        1.000
   24     69       1    0.963  0.0208        0.924        1.000
   36     52       2    0.931  0.0302        0.874        0.992
   48     41       3    0.870  0.0444        0.787        0.961
   60     34       2    0.823  0.0530        0.725        0.934
  120      2       3    0.723  0.0731        0.593        0.881

                TNM_PATH_STAGE_GROUP=2 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    107       1    0.991 0.00897        0.974        1.000
   24     93       5    0.942 0.02315        0.897        0.988
   36     83       2    0.920 0.02704        0.869        0.975
   48     72       3    0.884 0.03328        0.821        0.951
   60     62       2    0.858 0.03706        0.788        0.933
  120     19       8    0.720 0.05499        0.620        0.836

                TNM_PATH_STAGE_GROUP=3 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12     23       3    0.885  0.0627        0.770        1.000
   24     21       2    0.808  0.0773        0.670        0.974
   36     21       0    0.808  0.0773        0.670        0.974
   48     18       3    0.692  0.0905        0.536        0.895
   60     17       1    0.654  0.0933        0.494        0.865
  120      2       4    0.294  0.1448        0.112        0.772

                TNM_PATH_STAGE_GROUP=3A 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12      1       1      0.5   0.354        0.125            1
   24      1       0      0.5   0.354        0.125            1
   36      1       0      0.5   0.354        0.125            1

                TNM_PATH_STAGE_GROUP=3C 
        time       n.risk      n.event     survival      std.err lower 95% CI upper 95% CI 
      12.000        3.000        2.000        0.600        0.219        0.293        1.000 

                TNM_PATH_STAGE_GROUP=4 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12      3       1     0.75   0.217        0.426            1
   24      2       1     0.50   0.250        0.188            1

                TNM_PATH_STAGE_GROUP=4A 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12      3       2      0.6   0.219        0.293            1
   24      2       1      0.4   0.219        0.137            1
   36      2       0      0.4   0.219        0.137            1
   48      1       0      0.4   0.219        0.137            1
   60      1       0      0.4   0.219        0.137            1

                TNM_PATH_STAGE_GROUP=4B 
        time       n.risk      n.event     survival      std.err lower 95% CI upper 95% CI 
          12            1            0            1            0            1            1 

                TNM_PATH_STAGE_GROUP=N_A 
     time n.risk n.event survival std.err lower 95% CI upper 95% CI

                TNM_PATH_STAGE_GROUP=99 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    660      30    0.958 0.00747        0.944        0.973
   24    573      29    0.915 0.01065        0.894        0.936
   36    476      29    0.865 0.01351        0.839        0.892
   48    402      19    0.829 0.01529        0.799        0.859
   60    330      29    0.766 0.01808        0.731        0.802
  120     72      60    0.552 0.02880        0.499        0.612




   
## Univariable Cox Proportional Hazard Model for:  TNM_PATH_STAGE_GROUP
Loglik converged before variable  17 ; beta may be infinite. X matrix deemed to be singular; variable 4 6 7 8 11 16
Call:
coxph(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ TNM_PATH_STAGE_GROUP, data = data)

  n= 1282, number of events= 315 
   (79 observations deleted due to missingness)

                              coef  exp(coef)   se(coef)      z Pr(>|z|)    
TNM_PATH_STAGE_GROUP1    4.136e-02  1.042e+00  3.731e-01  0.111  0.91173    
TNM_PATH_STAGE_GROUP1A   6.470e-02  1.067e+00  3.732e-01  0.173  0.86234    
TNM_PATH_STAGE_GROUP1B   1.517e-01  1.164e+00  4.016e-01  0.378  0.70565    
TNM_PATH_STAGE_GROUP1C          NA         NA  0.000e+00     NA       NA    
TNM_PATH_STAGE_GROUP2    5.142e-02  1.053e+00  3.536e-01  0.145  0.88438    
TNM_PATH_STAGE_GROUP2A          NA         NA  0.000e+00     NA       NA    
TNM_PATH_STAGE_GROUP2B          NA         NA  0.000e+00     NA       NA    
TNM_PATH_STAGE_GROUP2C          NA         NA  0.000e+00     NA       NA    
TNM_PATH_STAGE_GROUP3    9.321e-01  2.540e+00  3.937e-01  2.368  0.01790 *  
TNM_PATH_STAGE_GROUP3A   3.076e+00  2.166e+01  7.676e-01  4.007 6.16e-05 ***
TNM_PATH_STAGE_GROUP3B          NA         NA  0.000e+00     NA       NA    
TNM_PATH_STAGE_GROUP3C   3.389e+00  2.963e+01  5.896e-01  5.747 9.07e-09 ***
TNM_PATH_STAGE_GROUP4    2.274e+00  9.716e+00  7.682e-01  2.960  0.00308 ** 
TNM_PATH_STAGE_GROUP4A   1.857e+00  6.404e+00  6.462e-01  2.874  0.00406 ** 
TNM_PATH_STAGE_GROUP4B   3.623e+00  3.745e+01  1.050e+00  3.450  0.00056 ***
TNM_PATH_STAGE_GROUP4C          NA         NA  0.000e+00     NA       NA    
TNM_PATH_STAGE_GROUPN_A -8.256e+00  2.597e-04  1.084e+03 -0.008  0.99392    
TNM_PATH_STAGE_GROUP99   5.189e-01  1.680e+00  2.973e-01  1.745  0.08097 .  
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

                        exp(coef) exp(-coef) lower .95 upper .95
TNM_PATH_STAGE_GROUP1   1.042e+00  9.595e-01    0.5016     2.165
TNM_PATH_STAGE_GROUP1A  1.067e+00  9.373e-01    0.5134     2.217
TNM_PATH_STAGE_GROUP1B  1.164e+00  8.593e-01    0.5297     2.557
TNM_PATH_STAGE_GROUP1C         NA         NA        NA        NA
TNM_PATH_STAGE_GROUP2   1.053e+00  9.499e-01    0.5265     2.105
TNM_PATH_STAGE_GROUP2A         NA         NA        NA        NA
TNM_PATH_STAGE_GROUP2B         NA         NA        NA        NA
TNM_PATH_STAGE_GROUP2C         NA         NA        NA        NA
TNM_PATH_STAGE_GROUP3   2.540e+00  3.937e-01    1.1741     5.494
TNM_PATH_STAGE_GROUP3A  2.166e+01  4.616e-02    4.8121    97.525
TNM_PATH_STAGE_GROUP3B         NA         NA        NA        NA
TNM_PATH_STAGE_GROUP3C  2.963e+01  3.375e-02    9.3287    94.104
TNM_PATH_STAGE_GROUP4   9.716e+00  1.029e-01    2.1557    43.792
TNM_PATH_STAGE_GROUP4A  6.404e+00  1.562e-01    1.8048    22.722
TNM_PATH_STAGE_GROUP4B  3.745e+01  2.670e-02    4.7822   293.229
TNM_PATH_STAGE_GROUP4C         NA         NA        NA        NA
TNM_PATH_STAGE_GROUPN_A 2.597e-04  3.850e+03    0.0000       Inf
TNM_PATH_STAGE_GROUP99  1.680e+00  5.952e-01    0.9381     3.009

Concordance= 0.596  (se = 0.016 )
Rsquare= 0.04   (max possible= 0.957 )
Likelihood ratio test= 52.82  on 12 df,   p=4.44e-07
Wald test            = 83.28  on 12 df,   p=9.753e-13
Score (logrank) test = 142.7  on 12 df,   p=0
Transformation introduced infinite values in continuous y-axisTransformation introduced infinite values in continuous y-axisTransformation introduced infinite values in continuous y-axisRemoved 7 rows containing missing values (geom_errorbar).Removed 19 rows containing missing values (geom_text).Removed 19 rows containing missing values (geom_text).Removed 19 rows containing missing values (geom_text).Removed 19 rows containing missing values (geom_text).Removed 19 rows containing missing values (geom_text).Removed 1 rows containing missing values (geom_text).



   
## Unadjusted Kaplan Meier Overall Survival Curve for:  TNM_PATH_STAGE_GROUP
This manual palette can handle a maximum of 10 values. You have supplied 13.

Margins

uni_var(test_var = "MARGINS", data_imp = data)
_________________________________________________
   
## MARGINS
_________________________________________________
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ MARGINS, data = data)

                            n events median 0.95LCL 0.95UCL
MARGINS=No Residual       601    124     NA   128.5      NA
MARGINS=Residual, NOS     164     38  131.9   121.8      NA
MARGINS=Microscopic Resid 351     71  155.4   133.4      NA
MARGINS=Macroscopic Resid  17      7   71.5    49.7      NA
MARGINS=Not evaluable      22      3     NA    92.3      NA
MARGINS=No surg           162     75   63.2    53.8    75.6
MARGINS=Unknown            44     11     NA    72.4      NA

Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ MARGINS, data = data)

                MARGINS=No Residual 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    524      13    0.977 0.00638        0.964        0.989
   24    472      14    0.950 0.00945        0.931        0.968
   36    398      16    0.915 0.01246        0.891        0.940
   48    344      14    0.881 0.01503        0.852        0.910
   60    285      21    0.823 0.01858        0.787        0.860
  120     62      41    0.619 0.03318        0.557        0.687

                MARGINS=Residual, NOS 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    148       4    0.975  0.0124        0.951        0.999
   24    125       9    0.912  0.0233        0.868        0.959
   36    107       4    0.881  0.0272        0.829        0.936
   48     88       4    0.846  0.0313        0.787        0.910
   60     70       6    0.784  0.0379        0.713        0.862
  120     13       8    0.633  0.0600        0.526        0.762

                MARGINS=Microscopic Resid 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    313      11    0.967 0.00972        0.948        0.986
   24    279       7    0.945 0.01273        0.920        0.970
   36    238       9    0.912 0.01623        0.881        0.945
   48    200       8    0.880 0.01931        0.843        0.918
   60    174       7    0.848 0.02207        0.806        0.892
  120     38      24    0.659 0.04124        0.583        0.745

                MARGINS=Macroscopic Resid 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12     14       0    1.000  0.0000        1.000        1.000
   24     12       2    0.857  0.0935        0.692        1.000
   36      9       1    0.771  0.1170        0.573        1.000
   48      9       0    0.771  0.1170        0.573        1.000
   60      5       2    0.579  0.1471        0.351        0.952
  120      2       1    0.463  0.1567        0.238        0.899

                MARGINS=Not evaluable 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12     17       0    1.000  0.0000        1.000            1
   24     16       0    1.000  0.0000        1.000            1
   36     13       0    1.000  0.0000        1.000            1
   48     10       1    0.923  0.0739        0.789            1
   60      8       0    0.923  0.0739        0.789            1
  120      2       2    0.659  0.1662        0.402            1

                MARGINS=No surg 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    129      19    0.877  0.0265        0.826        0.930
   24     93      19    0.737  0.0370        0.668        0.813
   36     69       9    0.657  0.0415        0.581        0.744
   48     52       5    0.604  0.0444        0.523        0.698
   60     32       6    0.519  0.0501        0.429        0.627
  120      4      15    0.211  0.0607        0.120        0.371

                MARGINS=Unknown 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12     40       1    0.976  0.0235        0.931        1.000
   24     36       1    0.951  0.0342        0.886        1.000
   36     31       1    0.923  0.0431        0.842        1.000
   48     21       2    0.863  0.0573        0.758        0.983
   60     18       2    0.779  0.0767        0.642        0.945
  120      4       4    0.567  0.1076        0.391        0.823




   
## Univariable Cox Proportional Hazard Model for:  MARGINS

Call:
coxph(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ MARGINS, data = data)

  n= 1361, number of events= 329 

                             coef exp(coef) se(coef)      z Pr(>|z|)    
MARGINSResidual, NOS      0.21309   1.23750  0.18558  1.148   0.2509    
MARGINSMicroscopic Resid -0.05559   0.94593  0.14886 -0.373   0.7088    
MARGINSMacroscopic Resid  0.88784   2.42987  0.38887  2.283   0.0224 *  
MARGINSNot evaluable     -0.26974   0.76358  0.58437 -0.462   0.6444    
MARGINSNo surg            1.37848   3.96887  0.14818  9.303   <2e-16 ***
MARGINSUnknown            0.26725   1.30637  0.31484  0.849   0.3960    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

                         exp(coef) exp(-coef) lower .95 upper .95
MARGINSResidual, NOS        1.2375     0.8081    0.8602     1.780
MARGINSMicroscopic Resid    0.9459     1.0572    0.7066     1.266
MARGINSMacroscopic Resid    2.4299     0.4115    1.1339     5.207
MARGINSNot evaluable        0.7636     1.3096    0.2429     2.400
MARGINSNo surg              3.9689     0.2520    2.9685     5.306
MARGINSUnknown              1.3064     0.7655    0.7048     2.421

Concordance= 0.617  (se = 0.017 )
Rsquare= 0.061   (max possible= 0.956 )
Likelihood ratio test= 85.18  on 6 df,   p=3.331e-16
Wald test            = 107  on 6 df,   p=0
Score (logrank) test = 123.5  on 6 df,   p=0
Removed 1 rows containing missing values (geom_errorbar).



   
## Unadjusted Kaplan Meier Overall Survival Curve for:  MARGINS

Margins Yes/No

#uni_var(test_var = "MARGINS_YN", data_imp = data)

30 Day Readmission

uni_var(test_var = "READM_HOSP_30_DAYS_F", data_imp = data)
_________________________________________________
   
## READM_HOSP_30_DAYS_F
_________________________________________________
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ READM_HOSP_30_DAYS_F, data = data)

                                              n events median 0.95LCL 0.95UCL
READM_HOSP_30_DAYS_F=No_Surg_or_No_Readmit 1293    305 141.77   128.2      NA
READM_HOSP_30_DAYS_F=Unplan_Readmit_Same     36     15 110.72    59.9      NA
READM_HOSP_30_DAYS_F=Plan_Readmit_Same       15      5  90.28    66.2      NA
READM_HOSP_30_DAYS_F=PlanUnplan_Same          1      1   1.38      NA      NA
READM_HOSP_30_DAYS_F=9                       16      3     NA      NA      NA

Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ READM_HOSP_30_DAYS_F, data = data)

                READM_HOSP_30_DAYS_F=No_Surg_or_No_Readmit 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12   1127      44    0.964 0.00533        0.954        0.975
   24    980      47    0.922 0.00788        0.907        0.937
   36    822      37    0.884 0.00968        0.866        0.904
   48    684      33    0.846 0.01130        0.825        0.869
   60    558      40    0.794 0.01335        0.768        0.820
  120    118      88    0.591 0.02269        0.548        0.637

                READM_HOSP_30_DAYS_F=Unplan_Readmit_Same 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12     30       3    0.915  0.0470        0.827        1.000
   24     27       3    0.823  0.0656        0.704        0.963
   36     24       1    0.792  0.0703        0.665        0.942
   48     21       1    0.756  0.0758        0.621        0.920
   60     17       3    0.642  0.0883        0.491        0.841
  120      5       4    0.441  0.1073        0.273        0.710

                READM_HOSP_30_DAYS_F=Plan_Readmit_Same 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12     14       0    1.000  0.0000        1.000            1
   24     13       1    0.929  0.0688        0.803            1
   36      7       2    0.774  0.1152        0.578            1
   48      7       0    0.774  0.1152        0.578            1
   60      6       0    0.774  0.1152        0.578            1

                READM_HOSP_30_DAYS_F=PlanUnplan_Same 
     time n.risk n.event survival std.err lower 95% CI upper 95% CI

                READM_HOSP_30_DAYS_F=9 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12     14       0    1.000  0.0000        1.000            1
   24     13       1    0.929  0.0688        0.803            1
   36     12       0    0.929  0.0688        0.803            1
   48     12       0    0.929  0.0688        0.803            1
   60     11       1    0.851  0.0973        0.680            1
  120      2       1    0.766  0.1191        0.565            1




   
## Univariable Cox Proportional Hazard Model for:  READM_HOSP_30_DAYS_F

Call:
coxph(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ READM_HOSP_30_DAYS_F, data = data)

  n= 1361, number of events= 329 

                                            coef exp(coef) se(coef)      z Pr(>|z|)    
READM_HOSP_30_DAYS_FUnplan_Readmit_Same   0.4690    1.5985   0.2646  1.773   0.0763 .  
READM_HOSP_30_DAYS_FPlan_Readmit_Same     0.4208    1.5231   0.4511  0.933   0.3510    
READM_HOSP_30_DAYS_FPlanUnplan_Same       5.2772  195.8253   1.0691  4.936 7.98e-07 ***
READM_HOSP_30_DAYS_F9                    -0.5388    0.5834   0.5804 -0.928   0.3533    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

                                        exp(coef) exp(-coef) lower .95 upper .95
READM_HOSP_30_DAYS_FUnplan_Readmit_Same    1.5985   0.625602    0.9516     2.685
READM_HOSP_30_DAYS_FPlan_Readmit_Same      1.5231   0.656547    0.6291     3.688
READM_HOSP_30_DAYS_FPlanUnplan_Same      195.8253   0.005107   24.0888  1591.923
READM_HOSP_30_DAYS_F9                      0.5834   1.713996    0.1870     1.820

Concordance= 0.518  (se = 0.007 )
Rsquare= 0.009   (max possible= 0.956 )
Likelihood ratio test= 12.97  on 4 df,   p=0.0114
Wald test            = 29.04  on 4 df,   p=7.682e-06
Score (logrank) test = 171.7  on 4 df,   p=0
Removed 1 rows containing missing values (geom_errorbar).



   
## Unadjusted Kaplan Meier Overall Survival Curve for:  READM_HOSP_30_DAYS_F

Radiation Type

uni_var(test_var = "RX_SUMM_RADIATION_F", data_imp = data)
_________________________________________________
   
## RX_SUMM_RADIATION_F
_________________________________________________
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ RX_SUMM_RADIATION_F, data = data)

                                              n events median 0.95LCL 0.95UCL
RX_SUMM_RADIATION_F=None                   1269    290  149.6   128.5      NA
RX_SUMM_RADIATION_F=Beam Radiation           73     35   61.9    40.6      NA
RX_SUMM_RADIATION_F=Radioactive Implants      1      0     NA      NA      NA
RX_SUMM_RADIATION_F=Beam + Imp or Isotopes    1      0     NA      NA      NA
RX_SUMM_RADIATION_F=Unknown                  17      4     NA   131.9      NA

Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ RX_SUMM_RADIATION_F, data = data)

                RX_SUMM_RADIATION_F=None 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12   1105      39    0.968 0.00512        0.958        0.978
   24    974      40    0.931 0.00751        0.916        0.946
   36    818      37    0.893 0.00947        0.875        0.912
   48    685      31    0.857 0.01109        0.835        0.879
   60    560      41    0.802 0.01330        0.776        0.828
  120    115      88    0.595 0.02306        0.551        0.642

                RX_SUMM_RADIATION_F=Beam Radiation 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12     64       8    0.890  0.0366        0.822        0.965
   24     44      12    0.711  0.0548        0.611        0.827
   36     33       3    0.658  0.0587        0.553        0.784
   48     25       3    0.595  0.0634        0.483        0.733
   60     19       3    0.515  0.0697        0.395        0.671
  120      5       5    0.354  0.0798        0.228        0.551

                RX_SUMM_RADIATION_F=Radioactive Implants 
        time       n.risk      n.event     survival      std.err lower 95% CI upper 95% CI 
          12            1            0            1            0            1            1 

                RX_SUMM_RADIATION_F=Beam + Imp or Isotopes 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12      1       0        1       0            1            1
   24      1       0        1       0            1            1
   36      1       0        1       0            1            1
   48      1       0        1       0            1            1
   60      1       0        1       0            1            1

                RX_SUMM_RADIATION_F=Unknown 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12     14       1    0.933  0.0644        0.815            1
   24     14       0    0.933  0.0644        0.815            1
   36     13       0    0.933  0.0644        0.815            1
   48     13       0    0.933  0.0644        0.815            1
   60     12       0    0.933  0.0644        0.815            1
  120      5       2    0.770  0.1179        0.570            1




   
## Univariable Cox Proportional Hazard Model for:  RX_SUMM_RADIATION_F
Loglik converged before variable  2,4 ; beta may be infinite. X matrix deemed to be singular; variable 3 5
Call:
coxph(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ RX_SUMM_RADIATION_F, data = data)

  n= 1361, number of events= 329 

                                                coef  exp(coef)   se(coef)      z Pr(>|z|)    
RX_SUMM_RADIATION_FBeam Radiation          1.037e+00  2.821e+00  1.794e-01  5.782 7.38e-09 ***
RX_SUMM_RADIATION_FRadioactive Implants   -1.306e+01  2.122e-06  2.873e+03 -0.005    0.996    
RX_SUMM_RADIATION_FRadioisotopes                  NA         NA  0.000e+00     NA       NA    
RX_SUMM_RADIATION_FBeam + Imp or Isotopes -1.305e+01  2.140e-06  1.133e+03 -0.012    0.991    
RX_SUMM_RADIATION_FRadiation, NOS                 NA         NA  0.000e+00     NA       NA    
RX_SUMM_RADIATION_FUnknown                -4.140e-01  6.610e-01  5.046e-01 -0.820    0.412    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

                                          exp(coef) exp(-coef) lower .95 upper .95
RX_SUMM_RADIATION_FBeam Radiation         2.821e+00  3.545e-01    1.9849     4.009
RX_SUMM_RADIATION_FRadioactive Implants   2.122e-06  4.713e+05    0.0000       Inf
RX_SUMM_RADIATION_FRadioisotopes                 NA         NA        NA        NA
RX_SUMM_RADIATION_FBeam + Imp or Isotopes 2.140e-06  4.673e+05    0.0000       Inf
RX_SUMM_RADIATION_FRadiation, NOS                NA         NA        NA        NA
RX_SUMM_RADIATION_FUnknown                6.610e-01  1.513e+00    0.2458     1.777

Concordance= 0.548  (se = 0.007 )
Rsquare= 0.02   (max possible= 0.956 )
Likelihood ratio test= 27.66  on 4 df,   p=1.462e-05
Wald test            = 34.49  on 4 df,   p=5.923e-07
Score (logrank) test = 38.21  on 4 df,   p=1.013e-07
Transformation introduced infinite values in continuous y-axisTransformation introduced infinite values in continuous y-axisTransformation introduced infinite values in continuous y-axisRemoved 3 rows containing missing values (geom_errorbar).Removed 7 rows containing missing values (geom_text).Removed 7 rows containing missing values (geom_text).Removed 7 rows containing missing values (geom_text).Removed 7 rows containing missing values (geom_text).Removed 7 rows containing missing values (geom_text).Removed 1 rows containing missing values (geom_text).



   
## Unadjusted Kaplan Meier Overall Survival Curve for:  RX_SUMM_RADIATION_F

Lymphovascular Invasion

uni_var(test_var = "LYMPH_VASCULAR_INVASION_F", data_imp = data)
_________________________________________________
   
## LYMPH_VASCULAR_INVASION_F
_________________________________________________
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ LYMPH_VASCULAR_INVASION_F, data = data)

   622 observations deleted due to missingness 
                                              n events median 0.95LCL 0.95UCL
LYMPH_VASCULAR_INVASION_F=Neg_LymphVasc_Inv 272     43     NA    80.1      NA
LYMPH_VASCULAR_INVASION_F=Pos_LumphVasc_Inv  28     15   27.8    20.9      NA
LYMPH_VASCULAR_INVASION_F=N_A                 1      0     NA      NA      NA
LYMPH_VASCULAR_INVASION_F=Unknown           438     61     NA      NA      NA

Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ LYMPH_VASCULAR_INVASION_F, data = data)

622 observations deleted due to missingness 
                LYMPH_VASCULAR_INVASION_F=Neg_LymphVasc_Inv 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    235       8    0.968  0.0110        0.947        0.990
   24    197      10    0.925  0.0172        0.892        0.959
   36    148       7    0.888  0.0214        0.847        0.931
   48    100       4    0.859  0.0250        0.812        0.910
   60     62       8    0.777  0.0361        0.709        0.851

                LYMPH_VASCULAR_INVASION_F=Pos_LumphVasc_Inv 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12     22       5    0.816  0.0744        0.682        0.976
   24     11       7    0.515  0.1030        0.348        0.762
   36      7       1    0.458  0.1062        0.290        0.721
   48      3       2    0.294  0.1180        0.134        0.646
   60      3       0    0.294  0.1180        0.134        0.646

                LYMPH_VASCULAR_INVASION_F=N_A 
     time n.risk n.event survival std.err lower 95% CI upper 95% CI

                LYMPH_VASCULAR_INVASION_F=Unknown 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    372      10    0.975 0.00772        0.960        0.991
   24    303      15    0.933 0.01301        0.908        0.959
   36    216      14    0.884 0.01775        0.850        0.920
   48    165       3    0.871 0.01913        0.834        0.909
   60    108       9    0.816 0.02524        0.768        0.867




   
## Univariable Cox Proportional Hazard Model for:  LYMPH_VASCULAR_INVASION_F
Loglik converged before variable  2 ; beta may be infinite. 
Call:
coxph(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ LYMPH_VASCULAR_INVASION_F, data = data)

  n= 739, number of events= 119 
   (622 observations deleted due to missingness)

                                                 coef  exp(coef)   se(coef)      z Pr(>|z|)    
LYMPH_VASCULAR_INVASION_FPos_LumphVasc_Inv  1.688e+00  5.408e+00  3.019e-01  5.591 2.26e-08 ***
LYMPH_VASCULAR_INVASION_FN_A               -1.057e+01  2.561e-05  1.657e+03 -0.006    0.995    
LYMPH_VASCULAR_INVASION_FUnknown           -1.077e-01  8.979e-01  1.992e-01 -0.540    0.589    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

                                           exp(coef) exp(-coef) lower .95 upper .95
LYMPH_VASCULAR_INVASION_FPos_LumphVasc_Inv 5.408e+00  1.849e-01    2.9927     9.774
LYMPH_VASCULAR_INVASION_FN_A               2.561e-05  3.905e+04    0.0000       Inf
LYMPH_VASCULAR_INVASION_FUnknown           8.979e-01  1.114e+00    0.6077     1.327

Concordance= 0.574  (se = 0.025 )
Rsquare= 0.035   (max possible= 0.85 )
Likelihood ratio test= 26.54  on 3 df,   p=7.368e-06
Wald test            = 39.87  on 3 df,   p=1.136e-08
Score (logrank) test = 51.11  on 3 df,   p=4.645e-11
Transformation introduced infinite values in continuous y-axisTransformation introduced infinite values in continuous y-axisTransformation introduced infinite values in continuous y-axisRemoved 1 rows containing missing values (geom_errorbar).Removed 4 rows containing missing values (geom_text).Removed 4 rows containing missing values (geom_text).Removed 4 rows containing missing values (geom_text).Removed 4 rows containing missing values (geom_text).Removed 4 rows containing missing values (geom_text).Removed 1 rows containing missing values (geom_text).



   
## Unadjusted Kaplan Meier Overall Survival Curve for:  LYMPH_VASCULAR_INVASION_F

Endoscopic/Robotic

uni_var(test_var = "RX_HOSP_SURG_APPR_2010_F", data_imp = data)
_________________________________________________
   
## RX_HOSP_SURG_APPR_2010_F
_________________________________________________
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ RX_HOSP_SURG_APPR_2010_F, data = data)

   622 observations deleted due to missingness 
                                            n events median 0.95LCL 0.95UCL
RX_HOSP_SURG_APPR_2010_F=No_Surg          123     38   61.9    53.5      NA
RX_HOSP_SURG_APPR_2010_F=Robot_Assist       2      0     NA      NA      NA
RX_HOSP_SURG_APPR_2010_F=Endo_Lap          18      1     NA      NA      NA
RX_HOSP_SURG_APPR_2010_F=Endo_Lap_to_Open   2      0     NA      NA      NA
RX_HOSP_SURG_APPR_2010_F=Open_Unknown     594     80     NA      NA      NA

Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ RX_HOSP_SURG_APPR_2010_F, data = data)

622 observations deleted due to missingness 
                RX_HOSP_SURG_APPR_2010_F=No_Surg 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12     95       9    0.920  0.0255        0.872        0.972
   24     63      14    0.769  0.0430        0.689        0.858
   36     40       7    0.671  0.0510        0.578        0.779
   48     24       3    0.612  0.0569        0.510        0.734
   60      9       2    0.532  0.0728        0.407        0.695

                RX_HOSP_SURG_APPR_2010_F=Robot_Assist 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12      2       0        1       0            1            1
   24      2       0        1       0            1            1

                RX_HOSP_SURG_APPR_2010_F=Endo_Lap 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12     15       0      1.0   0.000        1.000            1
   24     15       0      1.0   0.000        1.000            1
   36     12       0      1.0   0.000        1.000            1
   48      7       0      1.0   0.000        1.000            1
   60      4       1      0.8   0.179        0.516            1

                RX_HOSP_SURG_APPR_2010_F=Endo_Lap_to_Open 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12      2       0        1       0            1            1
   24      2       0        1       0            1            1
   36      2       0        1       0            1            1
   48      2       0        1       0            1            1
   60      2       0        1       0            1            1

                RX_HOSP_SURG_APPR_2010_F=Open_Unknown 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    515      14    0.975 0.00672        0.961        0.988
   24    429      18    0.938 0.01066        0.917        0.959
   36    317      15    0.901 0.01388        0.874        0.929
   48    235       6    0.881 0.01585        0.850        0.913
   60    158      14    0.821 0.02141        0.780        0.864




   
## Univariable Cox Proportional Hazard Model for:  RX_HOSP_SURG_APPR_2010_F
Loglik converged before variable  1,4 ; beta may be infinite. X matrix deemed to be singular; variable 2 6
Call:
coxph(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ RX_HOSP_SURG_APPR_2010_F, data = data)

  n= 739, number of events= 119 
   (622 observations deleted due to missingness)

                                               coef  exp(coef)   se(coef)      z Pr(>|z|)    
RX_HOSP_SURG_APPR_2010_FRobot_Assist     -1.646e+01  7.100e-08  4.568e+03 -0.004   0.9971    
RX_HOSP_SURG_APPR_2010_FRobot_to_Open            NA         NA  0.000e+00     NA       NA    
RX_HOSP_SURG_APPR_2010_FEndo_Lap         -2.251e+00  1.053e-01  1.014e+00 -2.220   0.0264 *  
RX_HOSP_SURG_APPR_2010_FEndo_Lap_to_Open -1.645e+01  7.210e-08  2.314e+03 -0.007   0.9943    
RX_HOSP_SURG_APPR_2010_FOpen_Unknown     -1.305e+00  2.713e-01  2.007e-01 -6.499  8.1e-11 ***
RX_HOSP_SURG_APPR_2010_FUnknown                  NA         NA  0.000e+00     NA       NA    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

                                         exp(coef) exp(-coef) lower .95 upper .95
RX_HOSP_SURG_APPR_2010_FRobot_Assist     7.100e-08  1.408e+07   0.00000       Inf
RX_HOSP_SURG_APPR_2010_FRobot_to_Open           NA         NA        NA        NA
RX_HOSP_SURG_APPR_2010_FEndo_Lap         1.053e-01  9.494e+00   0.01444    0.7684
RX_HOSP_SURG_APPR_2010_FEndo_Lap_to_Open 7.210e-08  1.387e+07   0.00000       Inf
RX_HOSP_SURG_APPR_2010_FOpen_Unknown     2.713e-01  3.686e+00   0.18306    0.4021
RX_HOSP_SURG_APPR_2010_FUnknown                 NA         NA        NA        NA

Concordance= 0.627  (se = 0.019 )
Rsquare= 0.052   (max possible= 0.85 )
Likelihood ratio test= 39.63  on 4 df,   p=5.172e-08
Wald test            = 44.06  on 4 df,   p=6.243e-09
Score (logrank) test = 52.41  on 4 df,   p=1.135e-10
Transformation introduced infinite values in continuous y-axisTransformation introduced infinite values in continuous y-axisTransformation introduced infinite values in continuous y-axisRemoved 3 rows containing missing values (geom_errorbar).Removed 7 rows containing missing values (geom_text).Removed 7 rows containing missing values (geom_text).Removed 7 rows containing missing values (geom_text).Removed 7 rows containing missing values (geom_text).Removed 7 rows containing missing values (geom_text).Removed 1 rows containing missing values (geom_text).



   
## Unadjusted Kaplan Meier Overall Survival Curve for:  RX_HOSP_SURG_APPR_2010_F

Surgery Radiation Sequence

uni_var(test_var = "SURG_RAD_SEQ", data_imp = data)
_________________________________________________
   
## SURG_RAD_SEQ
_________________________________________________
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ SURG_RAD_SEQ, data = data)

                              n events median 0.95LCL 0.95UCL
SURG_RAD_SEQ=Surg Alone    1158    241  155.4   141.8      NA
SURG_RAD_SEQ=Surg then Rad   23      9  125.6    39.2      NA
SURG_RAD_SEQ=Rad Alone       52     26   55.2    40.0      NA
SURG_RAD_SEQ=No Treatment   106     47   68.5    48.6    81.8
SURG_RAD_SEQ=Other           22      6  131.9    82.2      NA

Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ SURG_RAD_SEQ, data = data)

                SURG_RAD_SEQ=Surg Alone 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12   1018      28    0.974 0.00477        0.965        0.984
   24    911      27    0.948 0.00689        0.934        0.961
   36    771      31    0.913 0.00902        0.896        0.931
   48    649      28    0.878 0.01087        0.857        0.899
   60    538      38    0.823 0.01333        0.797        0.850
  120    112      77    0.624 0.02388        0.579        0.673

                SURG_RAD_SEQ=Surg then Rad 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12     23       0    1.000   0.000        1.000        1.000
   24     14       6    0.710   0.100        0.538        0.936
   36     11       0    0.710   0.100        0.538        0.936
   48     10       1    0.645   0.110        0.462        0.901
   60     10       0    0.645   0.110        0.462        0.901
  120      4       1    0.581   0.116        0.392        0.860

                SURG_RAD_SEQ=Rad Alone 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12     43       8    0.846  0.0500       0.7536        0.950
   24     31       6    0.722  0.0635       0.6077        0.858
   36     23       3    0.646  0.0703       0.5221        0.800
   48     16       2    0.585  0.0759       0.4533        0.754
   60     10       3    0.452  0.0894       0.3072        0.666
  120      1       4    0.211  0.1053       0.0795        0.561

                SURG_RAD_SEQ=No Treatment 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12     83      11    0.890  0.0313        0.831        0.954
   24     59      13    0.737  0.0467        0.651        0.835
   36     43       6    0.652  0.0527        0.557        0.764
   48     34       2    0.618  0.0551        0.519        0.736
   60     20       3    0.550  0.0619        0.441        0.686
  120      3      10    0.216  0.0760        0.108        0.430

                SURG_RAD_SEQ=Other 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12     18       1    0.947  0.0512        0.852        1.000
   24     18       0    0.947  0.0512        0.852        1.000
   36     17       0    0.947  0.0512        0.852        1.000
   48     15       1    0.888  0.0748        0.753        1.000
   60     14       0    0.888  0.0748        0.753        1.000
  120      5       3    0.680  0.1203        0.481        0.962




   
## Univariable Cox Proportional Hazard Model for:  SURG_RAD_SEQ
X matrix deemed to be singular; variable 5 6
Call:
coxph(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ SURG_RAD_SEQ, data = data)

  n= 1361, number of events= 329 

                                          coef exp(coef) se(coef)      z Pr(>|z|)    
SURG_RAD_SEQSurg then Rad              0.62458   1.86747  0.33984  1.838   0.0661 .  
SURG_RAD_SEQRad Alone                  1.41222   4.10505  0.20785  6.795 1.09e-11 ***
SURG_RAD_SEQNo Treatment               1.32660   3.76823  0.16096  8.242 2.22e-16 ***
SURG_RAD_SEQOther                     -0.02071   0.97951  0.41436 -0.050   0.9601    
SURG_RAD_SEQRad before and after Surg       NA        NA  0.00000     NA       NA    
SURG_RAD_SEQRad then Surg                   NA        NA  0.00000     NA       NA    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

                                      exp(coef) exp(-coef) lower .95 upper .95
SURG_RAD_SEQSurg then Rad                1.8675     0.5355    0.9594     3.635
SURG_RAD_SEQRad Alone                    4.1051     0.2436    2.7315     6.169
SURG_RAD_SEQNo Treatment                 3.7682     0.2654    2.7487     5.166
SURG_RAD_SEQOther                        0.9795     1.0209    0.4348     2.207
SURG_RAD_SEQRad before and after Surg        NA         NA        NA        NA
SURG_RAD_SEQRad then Surg                    NA         NA        NA        NA

Concordance= 0.601  (se = 0.01 )
Rsquare= 0.057   (max possible= 0.956 )
Likelihood ratio test= 79.63  on 4 df,   p=2.22e-16
Wald test            = 101.9  on 4 df,   p=0
Score (logrank) test = 117.7  on 4 df,   p=0
Removed 3 rows containing missing values (geom_errorbar).



   
## Unadjusted Kaplan Meier Overall Survival Curve for:  SURG_RAD_SEQ

Surgery Yes/No

uni_var(test_var = "SURGERY_YN", data_imp = data)
_________________________________________________
   
## SURGERY_YN
_________________________________________________
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ SURGERY_YN, data = data)

                  n events median 0.95LCL 0.95UCL
SURGERY_YN=No   157     72   63.2    53.8    76.1
SURGERY_YN=Ukn    8      3   70.2    40.4      NA
SURGERY_YN=Yes 1196    254  155.4   141.8      NA

Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ SURGERY_YN, data = data)

                SURGERY_YN=No 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    125      19    0.874  0.0272        0.822        0.928
   24     90      18    0.737  0.0375        0.667        0.814
   36     66       9    0.654  0.0423        0.576        0.742
   48     50       4    0.610  0.0448        0.528        0.704
   60     30       6    0.519  0.0514        0.428        0.630
  120      4      14    0.216  0.0622        0.122        0.379

                SURGERY_YN=Ukn 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12      6       0    1.000   0.000        1.000            1
   24      5       1    0.833   0.152        0.583            1
   36      5       0    0.833   0.152        0.583            1
   48      3       1    0.625   0.213        0.320            1
   60      3       0    0.625   0.213        0.320            1

                SURGERY_YN=Yes 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12   1054      29    0.974 0.00470        0.965        0.984
   24    938      33    0.943 0.00709        0.929        0.957
   36    794      31    0.909 0.00903        0.892        0.927
   48    671      29    0.874 0.01081        0.853        0.895
   60    559      38    0.821 0.01310        0.796        0.847
  120    121      80    0.628 0.02295        0.585        0.675




   
## Univariable Cox Proportional Hazard Model for:  SURGERY_YN

Call:
coxph(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ SURGERY_YN, data = data)

  n= 1361, number of events= 329 

                 coef exp(coef) se(coef)      z Pr(>|z|)    
SURGERY_YNUkn -0.3123    0.7317   0.5896 -0.530    0.596    
SURGERY_YNYes -1.3329    0.2637   0.1355 -9.836   <2e-16 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

              exp(coef) exp(-coef) lower .95 upper .95
SURGERY_YNUkn    0.7317      1.367    0.2304    2.3241
SURGERY_YNYes    0.2637      3.792    0.2022    0.3439

Concordance= 0.593  (se = 0.009 )
Rsquare= 0.055   (max possible= 0.956 )
Likelihood ratio test= 76.52  on 2 df,   p=0
Wald test            = 98.21  on 2 df,   p=0
Score (logrank) test = 113.1  on 2 df,   p=0
no non-missing arguments to min; returning Infno non-missing arguments to max; returning -InfTransformation introduced infinite values in continuous y-axisTransformation introduced infinite values in continuous y-axisTransformation introduced infinite values in continuous y-axisRemoved 1 rows containing missing values (geom_errorbar).Removed 1 rows containing missing values (geom_text).Removed 1 rows containing missing values (geom_text).Removed 1 rows containing missing values (geom_text).Removed 1 rows containing missing values (geom_text).Removed 1 rows containing missing values (geom_text).Removed 1 rows containing missing values (geom_text).



   
## Unadjusted Kaplan Meier Overall Survival Curve for:  SURGERY_YN

Radiation Yes/No

uni_var(test_var = "RADIATION_YN", data_imp = data)
_________________________________________________
   
## RADIATION_YN
_________________________________________________
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ RADIATION_YN, data = data)

   17 observations deleted due to missingness 
                    n events median 0.95LCL 0.95UCL
RADIATION_YN=No  1269    290  149.6   128.5      NA
RADIATION_YN=Yes   75     35   61.9    40.6      NA

Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ RADIATION_YN, data = data)

17 observations deleted due to missingness 
                RADIATION_YN=No 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12   1105      39    0.968 0.00512        0.958        0.978
   24    974      40    0.931 0.00751        0.916        0.946
   36    818      37    0.893 0.00947        0.875        0.912
   48    685      31    0.857 0.01109        0.835        0.879
   60    560      41    0.802 0.01330        0.776        0.828
  120    115      88    0.595 0.02306        0.551        0.642

                RADIATION_YN=Yes 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12     66       8    0.893  0.0356        0.826        0.966
   24     45      12    0.718  0.0538        0.620        0.832
   36     34       3    0.666  0.0578        0.561        0.789
   48     26       3    0.604  0.0625        0.493        0.740
   60     20       3    0.526  0.0687        0.407        0.680
  120      5       5    0.367  0.0803        0.239        0.563




   
## Univariable Cox Proportional Hazard Model for:  RADIATION_YN

Call:
coxph(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ RADIATION_YN, data = data)

  n= 1344, number of events= 325 
   (17 observations deleted due to missingness)

                  coef exp(coef) se(coef)     z Pr(>|z|)    
RADIATION_YNYes 1.0035    2.7277   0.1793 5.595  2.2e-08 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

                exp(coef) exp(-coef) lower .95 upper .95
RADIATION_YNYes     2.728     0.3666     1.919     3.877

Concordance= 0.544  (se = 0.007 )
Rsquare= 0.018   (max possible= 0.955 )
Likelihood ratio test= 24.26  on 1 df,   p=8.438e-07
Wald test            = 31.31  on 1 df,   p=2.205e-08
Score (logrank) test = 34.02  on 1 df,   p=5.467e-09





   
## Unadjusted Kaplan Meier Overall Survival Curve for:  RADIATION_YN

Chemo Yes/No

uni_var(test_var = "CHEMO_YN", data_imp = data)
_________________________________________________
   
## CHEMO_YN
_________________________________________________
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ CHEMO_YN, data = data)

                n events median 0.95LCL 0.95UCL
CHEMO_YN=No  1288    298  149.6   128.2      NA
CHEMO_YN=Yes   31     20   30.3    21.9      NA
CHEMO_YN=Ukn   42     11     NA   101.5      NA

Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ CHEMO_YN, data = data)

                CHEMO_YN=No 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12   1120      44    0.964 0.00533        0.954        0.975
   24    982      42    0.926 0.00770        0.911        0.941
   36    824      34    0.891 0.00943        0.873        0.910
   48    691      30    0.857 0.01099        0.835        0.879
   60    566      43    0.800 0.01326        0.774        0.826
  120    117      89    0.596 0.02278        0.553        0.642

                CHEMO_YN=Yes 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12     26       3    0.898  0.0560       0.7942        1.000
   24     15       9    0.581  0.0927       0.4247        0.794
   36     10       3    0.456  0.0968       0.3011        0.692
   48      5       3    0.299  0.0981       0.1576        0.569
   60      2       1    0.200  0.1045       0.0716        0.557

                CHEMO_YN=Ukn 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12     39       1    0.975  0.0247        0.928        1.000
   24     36       1    0.950  0.0345        0.885        1.000
   36     31       3    0.868  0.0553        0.766        0.983
   48     28       1    0.839  0.0605        0.728        0.966
   60     24       0    0.839  0.0605        0.728        0.966
  120      8       5    0.618  0.0975        0.453        0.842




   
## Univariable Cox Proportional Hazard Model for:  CHEMO_YN

Call:
coxph(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ CHEMO_YN, data = data)

  n= 1361, number of events= 329 

               coef exp(coef) se(coef)      z Pr(>|z|)    
CHEMO_YNYes  1.8825    6.5701   0.2352  8.004 1.22e-15 ***
CHEMO_YNUkn -0.1856    0.8306   0.3079 -0.603    0.547    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

            exp(coef) exp(-coef) lower .95 upper .95
CHEMO_YNYes    6.5701     0.1522    4.1435    10.418
CHEMO_YNUkn    0.8306     1.2040    0.4543     1.519

Concordance= 0.535  (se = 0.007 )
Rsquare= 0.029   (max possible= 0.956 )
Likelihood ratio test= 40.52  on 2 df,   p=1.586e-09
Wald test            = 64.91  on 2 df,   p=8.105e-15
Score (logrank) test = 86.45  on 2 df,   p=0
Removed 1 rows containing missing values (geom_errorbar).



   
## Unadjusted Kaplan Meier Overall Survival Curve for:  CHEMO_YN

Treatment Yes/No

uni_var(test_var = "Tx_YN", data_imp = data)
_________________________________________________
   
## Tx_YN
_________________________________________________
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ Tx_YN, data = data)

   42 observations deleted due to missingness 
               n events median 0.95LCL 0.95UCL
Tx_YN=FALSE   95     40   72.8    55.7     106
Tx_YN=TRUE  1224    278  149.6   130.5      NA

Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ Tx_YN, data = data)

42 observations deleted due to missingness 
                Tx_YN=FALSE 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12     74      10    0.889  0.0331        0.827        0.957
   24     53      10    0.755  0.0483        0.666        0.856
   36     38       5    0.674  0.0552        0.573        0.791
   48     31       1    0.654  0.0571        0.551        0.776
   60     19       3    0.577  0.0655        0.462        0.721
  120      3       9    0.240  0.0835        0.122        0.475

                Tx_YN=TRUE 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12   1072      37    0.968 0.00517        0.958        0.978
   24    944      41    0.930 0.00771        0.915        0.945
   36    796      32    0.896 0.00949        0.877        0.914
   48    665      32    0.857 0.01125        0.835        0.880
   60    549      41    0.801 0.01352        0.775        0.828
  120    114      81    0.606 0.02313        0.563        0.653




   
## Univariable Cox Proportional Hazard Model for:  Tx_YN

Call:
coxph(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ Tx_YN, data = data)

  n= 1319, number of events= 318 
   (42 observations deleted due to missingness)

             coef exp(coef) se(coef)      z Pr(>|z|)    
Tx_YNTRUE -1.1247    0.3247   0.1702 -6.607 3.91e-11 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

          exp(coef) exp(-coef) lower .95 upper .95
Tx_YNTRUE    0.3247      3.079    0.2326    0.4533

Concordance= 0.547  (se = 0.007 )
Rsquare= 0.025   (max possible= 0.954 )
Likelihood ratio test= 33.28  on 1 df,   p=7.997e-09
Wald test            = 43.66  on 1 df,   p=3.911e-11
Score (logrank) test = 48.42  on 1 df,   p=3.433e-12





   
## Unadjusted Kaplan Meier Overall Survival Curve for:  Tx_YN

Metastases at Dx

uni_var(test_var = "mets_at_dx_F", data_imp = data)
_________________________________________________
   
## mets_at_dx_F
_________________________________________________
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ mets_at_dx_F, data = data)

                      n events median 0.95LCL 0.95UCL
mets_at_dx_F=FALSE 1356    324  149.6  128.20      NA
mets_at_dx_F=TRUE     5      5   10.8    8.67      NA

Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ mets_at_dx_F, data = data)

                mets_at_dx_F=FALSE 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12   1183      45    0.965 0.00513        0.955        0.975
   24   1032      51    0.921 0.00771        0.906        0.937
   36    865      39    0.884 0.00946        0.866        0.903
   48    724      34    0.847 0.01100        0.826        0.869
   60    592      44    0.792 0.01305        0.767        0.818
  120    125      95    0.589 0.02194        0.547        0.633

                mets_at_dx_F=TRUE 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12      2       3      0.4   0.219       0.1367            1
   24      1       1      0.2   0.179       0.0346            1




   
## Univariable Cox Proportional Hazard Model for:  mets_at_dx_F

Call:
coxph(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ mets_at_dx_F, data = data)

  n= 1361, number of events= 329 

                    coef exp(coef) se(coef)     z Pr(>|z|)    
mets_at_dx_FTRUE  3.2631   26.1314   0.4614 7.072 1.53e-12 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

                 exp(coef) exp(-coef) lower .95 upper .95
mets_at_dx_FTRUE     26.13    0.03827     10.58     64.55

Concordance= 0.511  (se = 0.001 )
Rsquare= 0.017   (max possible= 0.956 )
Likelihood ratio test= 22.72  on 1 df,   p=1.874e-06
Wald test            = 50.01  on 1 df,   p=1.527e-12
Score (logrank) test = 113.4  on 1 df,   p=0





   
## Unadjusted Kaplan Meier Overall Survival Curve for:  mets_at_dx_F

Tumor specific Variables

Node Size

Cox Proportional Hazard Ratio

Model #1

Full analysis

model_one <- coxph(Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 0)
                     ~ SURG_RAD_SEQ + INSURANCE_F + AGE + SEX_F + RACE_F + INCOME_F + U_R_F +
                      FACILITY_TYPE_F + FACILITY_LOCATION_F + EDUCATION_F,
                     data = data)
Loglik converged before variable  10 ; beta may be infinite. X matrix deemed to be singular; variable 5 6
model_one %>% summary()
Call:
coxph(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ SURG_RAD_SEQ + INSURANCE_F + AGE + SEX_F + RACE_F + 
    INCOME_F + U_R_F + FACILITY_TYPE_F + FACILITY_LOCATION_F + 
    EDUCATION_F, data = data)

  n= 1307, number of events= 320 
   (54 observations deleted due to missingness)

                                                   coef  exp(coef)   se(coef)      z Pr(>|z|)    
SURG_RAD_SEQSurg then Rad                     7.098e-01  2.034e+00  3.660e-01  1.940  0.05243 .  
SURG_RAD_SEQRad Alone                         7.355e-01  2.087e+00  2.342e-01  3.141  0.00168 ** 
SURG_RAD_SEQNo Treatment                      8.462e-01  2.331e+00  1.787e-01  4.735 2.19e-06 ***
SURG_RAD_SEQOther                            -3.565e-01  7.001e-01  4.744e-01 -0.751  0.45236    
SURG_RAD_SEQRad before and after Surg                NA         NA  0.000e+00     NA       NA    
SURG_RAD_SEQRad then Surg                            NA         NA  0.000e+00     NA       NA    
INSURANCE_FNone                               8.077e-01  2.243e+00  5.303e-01  1.523  0.12776    
INSURANCE_FMedicaid                          -2.986e-01  7.419e-01  6.605e-01 -0.452  0.65126    
INSURANCE_FMedicare                           1.938e-01  1.214e+00  1.714e-01  1.131  0.25812    
INSURANCE_FOther Government                  -1.292e+01  2.446e-06  9.798e+02 -0.013  0.98948    
INSURANCE_FUnknown                           -1.458e-01  8.643e-01  6.105e-01 -0.239  0.81119    
AGE                                           8.313e-02  1.087e+00  7.289e-03 11.404  < 2e-16 ***
SEX_FFemale                                  -4.092e-01  6.642e-01  1.412e-01 -2.897  0.00376 ** 
RACE_FBlack                                   9.559e-01  2.601e+00  3.960e-01  2.414  0.01579 *  
RACE_FOther/Unk                               3.422e-01  1.408e+00  3.254e-01  1.052  0.29295    
RACE_FAsian                                  -5.812e-01  5.592e-01  4.019e-01 -1.446  0.14818    
INCOME_F$38,000 - $47,999                    -1.112e-01  8.947e-01  2.129e-01 -0.522  0.60137    
INCOME_F$48,000 - $62,999                     1.026e-02  1.010e+00  2.236e-01  0.046  0.96341    
INCOME_F$63,000 +                             4.022e-02  1.041e+00  2.508e-01  0.160  0.87258    
U_R_FUrban                                    1.306e-01  1.139e+00  1.802e-01  0.725  0.46866    
U_R_FRural                                   -7.237e-01  4.850e-01  4.462e-01 -1.622  0.10481    
FACILITY_TYPE_FComprehensive Comm Ca Program  1.847e-01  1.203e+00  3.886e-01  0.475  0.63462    
FACILITY_TYPE_FAcademic/Research Program     -1.350e-03  9.987e-01  3.872e-01 -0.003  0.99722    
FACILITY_TYPE_FIntegrated Network Ca Program  3.756e-01  1.456e+00  4.014e-01  0.936  0.34950    
FACILITY_LOCATION_FMiddle Atlantic           -3.684e-01  6.919e-01  3.001e-01 -1.227  0.21967    
FACILITY_LOCATION_FSouth Atlantic            -5.757e-01  5.623e-01  3.100e-01 -1.857  0.06328 .  
FACILITY_LOCATION_FEast North Central        -2.366e-01  7.893e-01  2.966e-01 -0.798  0.42494    
FACILITY_LOCATION_FEast South Central        -4.060e-01  6.663e-01  3.659e-01 -1.109  0.26726    
FACILITY_LOCATION_FWest North Central         9.946e-03  1.010e+00  3.132e-01  0.032  0.97467    
FACILITY_LOCATION_FWest South Central        -2.578e-01  7.728e-01  3.393e-01 -0.760  0.44749    
FACILITY_LOCATION_FMountain                  -1.185e-02  9.882e-01  3.365e-01 -0.035  0.97191    
FACILITY_LOCATION_FPacific                   -2.343e-01  7.911e-01  3.207e-01 -0.731  0.46503    
EDUCATION_F13 - 20.9%                        -2.876e-01  7.500e-01  2.181e-01 -1.319  0.18725    
EDUCATION_F7 - 12.9%                         -2.509e-01  7.781e-01  2.239e-01 -1.121  0.26239    
EDUCATION_FLess than 7%                      -5.725e-01  5.641e-01  2.605e-01 -2.198  0.02796 *  
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

                                             exp(coef) exp(-coef) lower .95 upper .95
SURG_RAD_SEQSurg then Rad                    2.034e+00  4.917e-01    0.9926    4.1664
SURG_RAD_SEQRad Alone                        2.087e+00  4.793e-01    1.3186    3.3018
SURG_RAD_SEQNo Treatment                     2.331e+00  4.290e-01    1.6420    3.3083
SURG_RAD_SEQOther                            7.001e-01  1.428e+00    0.2763    1.7742
SURG_RAD_SEQRad before and after Surg               NA         NA        NA        NA
SURG_RAD_SEQRad then Surg                           NA         NA        NA        NA
INSURANCE_FNone                              2.243e+00  4.459e-01    0.7931    6.3419
INSURANCE_FMedicaid                          7.419e-01  1.348e+00    0.2033    2.7075
INSURANCE_FMedicare                          1.214e+00  8.238e-01    0.8676    1.6983
INSURANCE_FOther Government                  2.446e-06  4.088e+05    0.0000       Inf
INSURANCE_FUnknown                           8.643e-01  1.157e+00    0.2612    2.8597
AGE                                          1.087e+00  9.202e-01    1.0713    1.1023
SEX_FFemale                                  6.642e-01  1.506e+00    0.5036    0.8760
RACE_FBlack                                  2.601e+00  3.845e-01    1.1969    5.6526
RACE_FOther/Unk                              1.408e+00  7.102e-01    0.7441    2.6643
RACE_FAsian                                  5.592e-01  1.788e+00    0.2544    1.2295
INCOME_F$38,000 - $47,999                    8.947e-01  1.118e+00    0.5894    1.3581
INCOME_F$48,000 - $62,999                    1.010e+00  9.898e-01    0.6518    1.5660
INCOME_F$63,000 +                            1.041e+00  9.606e-01    0.6368    1.7018
U_R_FUrban                                   1.139e+00  8.776e-01    0.8005    1.6221
U_R_FRural                                   4.850e-01  2.062e+00    0.2023    1.1628
FACILITY_TYPE_FComprehensive Comm Ca Program 1.203e+00  8.314e-01    0.5616    2.5760
FACILITY_TYPE_FAcademic/Research Program     9.987e-01  1.001e+00    0.4676    2.1330
FACILITY_TYPE_FIntegrated Network Ca Program 1.456e+00  6.869e-01    0.6628    3.1975
FACILITY_LOCATION_FMiddle Atlantic           6.919e-01  1.445e+00    0.3842    1.2459
FACILITY_LOCATION_FSouth Atlantic            5.623e-01  1.778e+00    0.3063    1.0324
FACILITY_LOCATION_FEast North Central        7.893e-01  1.267e+00    0.4413    1.4115
FACILITY_LOCATION_FEast South Central        6.663e-01  1.501e+00    0.3253    1.3651
FACILITY_LOCATION_FWest North Central        1.010e+00  9.901e-01    0.5467    1.8661
FACILITY_LOCATION_FWest South Central        7.728e-01  1.294e+00    0.3974    1.5028
FACILITY_LOCATION_FMountain                  9.882e-01  1.012e+00    0.5110    1.9113
FACILITY_LOCATION_FPacific                   7.911e-01  1.264e+00    0.4219    1.4834
EDUCATION_F13 - 20.9%                        7.500e-01  1.333e+00    0.4891    1.1501
EDUCATION_F7 - 12.9%                         7.781e-01  1.285e+00    0.5017    1.2067
EDUCATION_FLess than 7%                      5.641e-01  1.773e+00    0.3386    0.9399

Concordance= 0.769  (se = 0.018 )
Rsquare= 0.218   (max possible= 0.956 )
Likelihood ratio test= 321.4  on 33 df,   p=0
Wald test            = 282.6  on 33 df,   p=0
Score (logrank) test = 323.4  on 33 df,   p=0

Summary of Model

model_one %>%
        tidy(., exponentiate = TRUE) %>%
        select(term, estimate, conf.low, conf.high, p.value) %>%
        rename(Variable = term,
               Hazard_Ratio = estimate) %>%
        tbl_df %>%
        print(n = nrow(.))

Prediction Logistic Regression Models

Surgery

no_Ukns <- data %>%
  filter(SURGERY_YN != "Ukn") %>% 
  droplevels() %>% 
  mutate(SURGERY_YN = as.logical(SURGERY_YN))
fit_surg <- glm(SURG_TF ~ AGE_F + SEX_F + RACE_F + INCOME_F + U_R_F +
                      FACILITY_TYPE_F + FACILITY_LOCATION_F + EDUCATION_F + EXPN_GROUP,
   data = no_Ukns)
summary(fit_surg)

Call:
glm(formula = SURG_TF ~ AGE_F + SEX_F + RACE_F + INCOME_F + U_R_F + 
    FACILITY_TYPE_F + FACILITY_LOCATION_F + EDUCATION_F + EXPN_GROUP, 
    data = no_Ukns)

Deviance Residuals: 
     Min        1Q    Median        3Q       Max  
-1.03944   0.02420   0.09165   0.14552   0.46168  

Coefficients:
                                              Estimate Std. Error t value Pr(>|t|)    
(Intercept)                                   0.433356   0.087919   4.929 9.35e-07 ***
AGE_F(54,64]                                  0.021673   0.034590   0.627 0.531046    
AGE_F(64,74]                                  0.004522   0.032460   0.139 0.889218    
AGE_F(74,100]                                -0.076628   0.031446  -2.437 0.014953 *  
SEX_FFemale                                   0.105132   0.022605   4.651 3.65e-06 ***
RACE_FBlack                                  -0.065890   0.064401  -1.023 0.306442    
RACE_FOther/Unk                              -0.021630   0.055454  -0.390 0.696568    
RACE_FAsian                                   0.017591   0.042527   0.414 0.679211    
INCOME_F$38,000 - $47,999                     0.043093   0.033622   1.282 0.200174    
INCOME_F$48,000 - $62,999                     0.020953   0.035519   0.590 0.555360    
INCOME_F$63,000 +                             0.006643   0.039217   0.169 0.865508    
U_R_FUrban                                   -0.005280   0.028056  -0.188 0.850769    
U_R_FRural                                   -0.011803   0.064283  -0.184 0.854348    
FACILITY_TYPE_FComprehensive Comm Ca Program  0.205575   0.059801   3.438 0.000606 ***
FACILITY_TYPE_FAcademic/Research Program      0.245382   0.059279   4.139 3.71e-05 ***
FACILITY_TYPE_FIntegrated Network Ca Program  0.234210   0.062709   3.735 0.000196 ***
FACILITY_LOCATION_FMiddle Atlantic            0.058416   0.050438   1.158 0.247008    
FACILITY_LOCATION_FSouth Atlantic             0.074271   0.051094   1.454 0.146301    
FACILITY_LOCATION_FEast North Central         0.063628   0.051303   1.240 0.215113    
FACILITY_LOCATION_FEast South Central         0.045428   0.058924   0.771 0.440873    
FACILITY_LOCATION_FWest North Central         0.036241   0.054023   0.671 0.502450    
FACILITY_LOCATION_FWest South Central         0.068116   0.057515   1.184 0.236509    
FACILITY_LOCATION_FMountain                   0.008140   0.059521   0.137 0.891240    
FACILITY_LOCATION_FPacific                    0.053223   0.053269   0.999 0.317916    
EDUCATION_F13 - 20.9%                         0.032946   0.032965   0.999 0.317772    
EDUCATION_F7 - 12.9%                          0.008277   0.034264   0.242 0.809165    
EDUCATION_FLess than 7%                       0.051948   0.038649   1.344 0.179156    
EXPN_GROUPPre-Expansion                       0.083584   0.025170   3.321 0.000923 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

(Dispersion parameter for gaussian family taken to be 0.09829036)

    Null deviance: 134.99  on 1299  degrees of freedom
Residual deviance: 125.03  on 1272  degrees of freedom
  (53 observations deleted due to missingness)
AIC: 703.16

Number of Fisher Scoring iterations: 2
exp(cbind("Odds ratio" = coef(fit_surg), confint.default(fit_surg, level = 0.95)))
                                             Odds ratio     2.5 %    97.5 %
(Intercept)                                   1.5424259 1.2982776 1.8324876
AGE_F(54,64]                                  1.0219097 0.9549263 1.0935918
AGE_F(64,74]                                  1.0045326 0.9426148 1.0705176
AGE_F(74,100]                                 0.9262346 0.8708720 0.9851167
SEX_FFemale                                   1.1108571 1.0627152 1.1611800
RACE_FBlack                                   0.9362335 0.8252129 1.0621904
RACE_FOther/Unk                               0.9786027 0.8778170 1.0909600
RACE_FAsian                                   1.0177462 0.9363551 1.1062122
INCOME_F$38,000 - $47,999                     1.0440355 0.9774545 1.1151518
INCOME_F$48,000 - $62,999                     1.0211737 0.9525022 1.0947961
INCOME_F$63,000 +                             1.0066655 0.9321882 1.0870932
U_R_FUrban                                    0.9947344 0.9415111 1.0509664
U_R_FRural                                    0.9882664 0.8712769 1.1209643
FACILITY_TYPE_FComprehensive Comm Ca Program  1.2282309 1.0923897 1.3809642
FACILITY_TYPE_FAcademic/Research Program      1.2781092 1.1379148 1.4355760
FACILITY_TYPE_FIntegrated Network Ca Program  1.2639093 1.1177337 1.4292016
FACILITY_LOCATION_FMiddle Atlantic            1.0601559 0.9603666 1.1703140
FACILITY_LOCATION_FSouth Atlantic             1.0770987 0.9744601 1.1905480
FACILITY_LOCATION_FEast North Central         1.0656957 0.9637500 1.1784252
FACILITY_LOCATION_FEast South Central         1.0464756 0.9323374 1.1745867
FACILITY_LOCATION_FWest North Central         1.0369052 0.9327264 1.1527200
FACILITY_LOCATION_FWest South Central         1.0704891 0.9563692 1.1982265
FACILITY_LOCATION_FMountain                   1.0081735 0.8971625 1.1329205
FACILITY_LOCATION_FPacific                    1.0546649 0.9501060 1.1707304
EDUCATION_F13 - 20.9%                         1.0334948 0.9688328 1.1024724
EDUCATION_F7 - 12.9%                          1.0083110 0.9428199 1.0783513
EDUCATION_FLess than 7%                       1.0533214 0.9764784 1.1362114
EXPN_GROUPPre-Expansion                       1.0871763 1.0348441 1.1421548

Metastasis at Time of Diagnosis

# limit to those cases where data about expansion status is available (> Age 39, non-ambiguous status states)
fit_mets <- glm(mets_at_dx_F ~ AGE_F + SEX_F + RACE_F + INCOME_F + U_R_F +
                      FACILITY_TYPE_F + FACILITY_LOCATION_F + EDUCATION_F + EXPN_GROUP,
   data = no_Excludes)
summary(fit_mets)

Call:
glm(formula = mets_at_dx_F ~ AGE_F + SEX_F + RACE_F + INCOME_F + 
    U_R_F + FACILITY_TYPE_F + FACILITY_LOCATION_F + EDUCATION_F + 
    EXPN_GROUP, data = no_Excludes)

Deviance Residuals: 
   Min      1Q  Median      3Q     Max  
     0       0       0       0       0  

Coefficients:
                                             Estimate Std. Error t value Pr(>|t|)
(Intercept)                                         0          0      NA       NA
AGE_F(54,64]                                        0          0      NA       NA
AGE_F(64,74]                                        0          0      NA       NA
AGE_F(74,100]                                       0          0      NA       NA
SEX_FFemale                                         0          0      NA       NA
RACE_FBlack                                         0          0      NA       NA
RACE_FOther/Unk                                     0          0      NA       NA
RACE_FAsian                                         0          0      NA       NA
INCOME_F$38,000 - $47,999                           0          0      NA       NA
INCOME_F$48,000 - $62,999                           0          0      NA       NA
INCOME_F$63,000 +                                   0          0      NA       NA
U_R_FUrban                                          0          0      NA       NA
U_R_FRural                                          0          0      NA       NA
FACILITY_TYPE_FComprehensive Comm Ca Program        0          0      NA       NA
FACILITY_TYPE_FAcademic/Research Program            0          0      NA       NA
FACILITY_TYPE_FIntegrated Network Ca Program        0          0      NA       NA
FACILITY_LOCATION_FMiddle Atlantic                  0          0      NA       NA
FACILITY_LOCATION_FSouth Atlantic                   0          0      NA       NA
FACILITY_LOCATION_FEast North Central               0          0      NA       NA
FACILITY_LOCATION_FEast South Central               0          0      NA       NA
FACILITY_LOCATION_FWest North Central               0          0      NA       NA
FACILITY_LOCATION_FWest South Central               0          0      NA       NA
FACILITY_LOCATION_FMountain                         0          0      NA       NA
FACILITY_LOCATION_FPacific                          0          0      NA       NA
EDUCATION_F13 - 20.9%                               0          0      NA       NA
EDUCATION_F7 - 12.9%                                0          0      NA       NA
EDUCATION_FLess than 7%                             0          0      NA       NA
EXPN_GROUPPre-Expansion                             0          0      NA       NA

(Dispersion parameter for gaussian family taken to be 0)

    Null deviance: 0  on 687  degrees of freedom
Residual deviance: 0  on 660  degrees of freedom
  (18 observations deleted due to missingness)
AIC: -Inf

Number of Fisher Scoring iterations: 1
exp(cbind("Odds ratio" = coef(fit_mets), confint.default(fit_surg, level = 0.95)))
                                             Odds ratio     2.5 %    97.5 %
(Intercept)                                           1 1.2982776 1.8324876
AGE_F(54,64]                                          1 0.9549263 1.0935918
AGE_F(64,74]                                          1 0.9426148 1.0705176
AGE_F(74,100]                                         1 0.8708720 0.9851167
SEX_FFemale                                           1 1.0627152 1.1611800
RACE_FBlack                                           1 0.8252129 1.0621904
RACE_FOther/Unk                                       1 0.8778170 1.0909600
RACE_FAsian                                           1 0.9363551 1.1062122
INCOME_F$38,000 - $47,999                             1 0.9774545 1.1151518
INCOME_F$48,000 - $62,999                             1 0.9525022 1.0947961
INCOME_F$63,000 +                                     1 0.9321882 1.0870932
U_R_FUrban                                            1 0.9415111 1.0509664
U_R_FRural                                            1 0.8712769 1.1209643
FACILITY_TYPE_FComprehensive Comm Ca Program          1 1.0923897 1.3809642
FACILITY_TYPE_FAcademic/Research Program              1 1.1379148 1.4355760
FACILITY_TYPE_FIntegrated Network Ca Program          1 1.1177337 1.4292016
FACILITY_LOCATION_FMiddle Atlantic                    1 0.9603666 1.1703140
FACILITY_LOCATION_FSouth Atlantic                     1 0.9744601 1.1905480
FACILITY_LOCATION_FEast North Central                 1 0.9637500 1.1784252
FACILITY_LOCATION_FEast South Central                 1 0.9323374 1.1745867
FACILITY_LOCATION_FWest North Central                 1 0.9327264 1.1527200
FACILITY_LOCATION_FWest South Central                 1 0.9563692 1.1982265
FACILITY_LOCATION_FMountain                           1 0.8971625 1.1329205
FACILITY_LOCATION_FPacific                            1 0.9501060 1.1707304
EDUCATION_F13 - 20.9%                                 1 0.9688328 1.1024724
EDUCATION_F7 - 12.9%                                  1 0.9428199 1.0783513
EDUCATION_FLess than 7%                               1 0.9764784 1.1362114
EXPN_GROUPPre-Expansion                               1 1.0348441 1.1421548
LS0tCnRpdGxlOiAiRXh0cmFtYW1tYXJ5IFBhZ2V0IERpc2Vhc2UgLSBSZXZpZXcgb2YgdGhlIE5DREIiCmF1dGhvcjogIlJhbWllIEZhdGh5IgpkYXRlOiAiMTAvMjQvMjAxOSIKb3V0cHV0OgogIGh0bWxfbm90ZWJvb2s6CiAgICB0aGVtZTogdW5pdGVkCiAgICB0b2M6IHllcwogICAgdG9jX2Zsb2F0OiB5ZXMKICBodG1sX2RvY3VtZW50OgogICAgdG9jOiB5ZXMKLS0tCgoKCmBgYHtyLCBlY2hvPUZBTFNFLCB3YXJuaW5nPUZBTFNFLCBtZXNzYWdlPUZBTFNFfQoKbGlicmFyeSgiZ2dwbG90MiIpCmxpYnJhcnkoImRwbHlyIikKbGlicmFyeSgidGlkeXIiKQpsaWJyYXJ5KCJrbml0ciIpCmxpYnJhcnkoInRhYmxlb25lIikKbGlicmFyeSgiZm9yY2F0cyIpCmxpYnJhcnkoInN1cnZpdmFsIikKbGlicmFyeSgibnBzdXJ2IikKbGlicmFyeSgiYnJvb20iKQpsaWJyYXJ5KCJ0aWJibGUiKQpsaWJyYXJ5KCJyZWFkciIpCmxpYnJhcnkoInN1cnZtaW5lciIpCmxpYnJhcnkoInN0cmluZ3IiKQoKCmtuaXRyOjpvcHRzX2NodW5rJHNldChlY2hvPVRSVUUsIHdhcm5pbmc9RkFMU0UsIG1lc3NhZ2U9VFJVRSkKJyUhaW4lJyA8LSBmdW5jdGlvbih4LHkpISgnJWluJScoeCx5KSkKYGBgCgpgYGB7cn0KcF90YWJsZSA8LSBmdW5jdGlvbih0YWJfZGF0YSwgLi4uKSB7CiAgdGFiX2RhdGFfMiA8LSBkZXBhcnNlKHN1YnN0aXR1dGUodGFiX2RhdGEpKQogIAogIHRhYmxlX3AgPC0gZG8uY2FsbChDcmVhdGVUYWJsZU9uZSwgCiAgICAgICAgICAgICAgICAgICAgIGxpc3QoZGF0YSA9IGFzLm5hbWUodGFiX2RhdGFfMiksIGluY2x1ZGVOQSA9IFRSVUUsIC4uLikpCiAgdGFibGVfcF9vdXQgPC0gcHJpbnQodGFibGVfcCwKICAgICAgICAgICAgICAgICAgICAgICBzaG93QWxsTGV2ZWxzID0gVFJVRSwKICAgICAgICAgICAgICAgICAgICAgICBwcmludFRvZ2dsZSA9IEZBTFNFKQogIGthYmxlKHRhYmxlX3Bfb3V0LAogICAgICAgIGFsaWduID0gImMiKQp9CmBgYAoKCgpgYGB7cn0KZl9wbG90IDwtIGZ1bmN0aW9uKHRlc3RfdmFyLCBkYXRhX2ltcCl7CgogICAgICAgICAgICAgICAgCiAgICAgICAgY2F0KCJfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fIikKICAgICAgICBjYXQoIlxuIikKICAgICAgICBjYXQoIiAgIFxuIyMiLCB0ZXN0X3ZhcikKICAgICAgICBjYXQoIlxuIikKICAgICAgICBjYXQoIl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18iKQogICAgICAgIGNhdCgiXG4iKQoKICAgICAgICAKICAgICAgICBmIDwtIGFzLmZvcm11bGEocGFzdGUoYXMubmFtZSh0ZXN0X3ZhciksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJBR0UgKyBTRVggKyBUX1NJWkUgKyBGQUNJTElUWV9UWVBFX0YgKyBGQUNJTElUWV9MT0NBVElPTl9GICsgWUVBUl9PRl9ESUFHTk9TSVMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXAgPSAiIH4gIiApKQogICAgICAgIAogICAgICAgIGRhdGFfaW1wXzIgPC0gZGVwYXJzZShzdWJzdGl0dXRlKGRhdGFfaW1wKSkKICAgICAgICAKICAgICAgICBmaXRfZm4gPC0gZG8uY2FsbCgiZ2xtIiwgCiAgICAgICAgICAgICAgICAgICAgICAgbGlzdChmb3JtdWxhID0gZiwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhID0gYXMubmFtZShkYXRhX2ltcF8yKSwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmYW1pbHkgPSAiYmlub21pYWwiKSkKICAgICAgICAKICAgICAgICBwcmludChzdW1tYXJ5KGZpdF9mbikpCiAgICAgICAgCiAgICAgICAgb3IgPC0gYXMuZGF0YS5mcmFtZShleHAoY29lZmZpY2llbnRzKGZpdF9mbikpKQogICAgICAgIG9yJFZhcmlhYmxlIDwtIHJvd25hbWVzKG9yKQogICAgICAgIHJvd25hbWVzKG9yKSA8LSBjKCkKICAgICAgICBuYW1lcyhvcikgPC0gYygnT2Rkc1JhdGlvJywgJ1ZhcmlhYmxlJykKCiAgICAgICAgY2kgPC0gYXMuZGF0YS5mcmFtZShleHAoY29uZmludChmaXRfZm4pKSkKICAgICAgICBjaSRWYXJpYWJsZSA8LSByb3duYW1lcyhjaSkKICAgICAgICByb3duYW1lcyhjaSkgPC0gYygpCgogICAgICAgIHBfdmFsX2xpc3QgPC0gdGlkeShmaXRfZm4pICU+JQogICAgICAgIHNlbGVjdCh0ZXJtLCBwLnZhbHVlKSAlPiUKICAgICAgICByZW5hbWUoVmFyaWFibGUgPSB0ZXJtKSAlPiUKICAgICAgICBtdXRhdGUocC52YWx1ZSA9IHJvdW5kKHAudmFsdWUsIDQpKQogICAgICAgIHBfdmFsX2xpc3QkcC52YWx1ZSA8LSBhcy5jaGFyYWN0ZXIocF92YWxfbGlzdCRwLnZhbHVlKQogICAgICAgIHBfdmFsX2xpc3QkcC52YWx1ZVtwX3ZhbF9saXN0JHAudmFsdWUgPT0gIjAiXSA8LSAiPCAwLjAwMDEiCgogICAgICAgIGFsbCA8LSBmdWxsX2pvaW4ob3IsIGNpLCBieSA9ICdWYXJpYWJsZScpCiAgICAgICAgYWxsIDwtIGZ1bGxfam9pbihhbGwsIHBfdmFsX2xpc3QsIGJ5ID0gIlZhcmlhYmxlIikKICAgICAgICBuYW1lcyhhbGwpIDwtIGMoJ09kZHNSYXRpbycsICdWYXJpYWJsZScsICdMb3dlcicsICdVcHBlcicsICJwX3ZhbHVlIikKICAgICAgICBhbGwgPC0gbmEub21pdChhbGwpCgogICAgICAgIGFsbCA8LSBhbGwgJT4lCiAgICAgICAgZmlsdGVyKFZhcmlhYmxlICE9ICcoSW50ZXJjZXB0KScpIAoKCiAgICAgICAgdGV4dCA8LSBjYmluZChjKCJWYXJpYWJsZSIsIGFzLmNoYXJhY3RlcihhbGwkVmFyaWFibGUpKSwgCiAgICAgICAgICAgICAgYygiT2RkcyBSYXRpbyIsIGFzLmNoYXJhY3Rlcihyb3VuZChhbGwkT2Rkc1JhdGlvLCAyKSkpLAogICAgICAgICAgICAgIGMoIkxvd2VyIENJIiwgYXMuY2hhcmFjdGVyKHJvdW5kKGFsbCRMb3dlciwgMikpKSwKICAgICAgICAgICAgICBjKCJVcHBlciBDSSIsIGFzLmNoYXJhY3Rlcihyb3VuZChhbGwkVXBwZXIsIDIpKSksCiAgICAgICAgICAgICAgYygicCBWYWx1ZSIsIGFsbCRwX3ZhbHVlKSkKCgogICAgICAgIGZvcmVzdHBsb3QodGV4dCwgCiAgICAgICAgICAgbWVhbiA9IGMoTkEsIGFsbCRPZGRzUmF0aW8pLCAKICAgICAgICAgICBsb3dlciA9IGMoTkEsIGFsbCRMb3dlciksIAogICAgICAgICAgIHVwcGVyID0gYyhOQSwgYWxsJFVwcGVyKSwgCiAgICAgICAgICAgbmV3X3BhZ2UgPSAgIFRSVUUsIHplcm8gPSAxLCAKICAgICAgICAgICBjbGlwID0gYygwLjEsIDEwMCksCiAgICAgICAgICAgaHJ6bF9saW5lcyA9IGxpc3QoIjIiID0gZ3Bhcihjb2w9IiM0NDQ0NDQiKSksCiAgICAgICAgICAgdmVydGljZXMgPSBUUlVFLAogICAgICAgICAgIGdyYXBoLnBvcyA9IDIsCiAgICAgICAgICAgeGxhYiA9ICJPZGRzIFJhdGlvIChsb2cpIiwKICAgICAgICAgICBhbGlnbiA9ICJjIiwKICAgICAgICAgICB0eHRfZ3AgPSBmcFR4dEdwKGNleCA9IDAuNyksCiAgICAgICAgICAgeHRpY2tzID0gZ2V0VGlja3MobG93ID0gYWxsJExvd2VyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhpZ2ggPSBhbGwkVXBwZXIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xpcD1jKC1JbmYsIEluZiksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXhwPVRSVUUpLAogICAgICAgICAgIGJveHNpemUgPSAwLjEpCiAgICAKfQpgYGAKCmBgYHtyIGNodW5rMiwgY2FjaGU9VFJVRSwgbWVzc2FnZT1GQUxTRSwgd2FybmluZz1GQUxTRSwgcmVzdWx0cz0naGlkZSd9CmNvbC53aWR0aCA8LSBjKDM3LCAxMCwgMSwgMSwgMywgMSwgMiwgMSwgMiwgMSwgMSwgMSwgMSwgMSwgMSwgOCwgMiwgMiwgMiwgNCwgNCwgMSwgNCwgMSwgMSwKICAgICAgICAgICAgICAgMSwgMywgMiwgMiwgOCwgMiwgNSwgNSwgNSwgNCwgNSwgNSwgNSw0LCAyLCAxLCAyLCAxLCAzLCAxLCAxLCAxLCAxLCAxLCAxLCAzLAogICAgICAgICAgICAgICAzLCAzLCAzLCAzLCAzLCAzLCAzLCAzLCAzLCAzLCAzLCAzLCAzLCAzLCAzLCAzLCAzLCAzLCAzLCAzLCAzLCAzLCAzLCAzLCA2LCA4LAogICAgICAgICAgICAgICA4LCA4LCAyLCAxLCAxLCAxLCAxLCA4LCAxLCAxLCA4LCAxLCAxLCAyLCAyLCA1LCAyLCA1LCAzLCAxLCAzLCAxLCA4LCA4LCAyLCA4LAogICAgICAgICAgICAgICAyLCA4LCAyLCAyLCAxLCA4LCAxLCAxLCAxLCAxLCAxLCA4LCAxLCAyLCAyLCAyLCAyLCAyLCAxLCAxLCAxLCAyLCAxLCAzLCAxLCAxLAogICAgICAgICAgICAgICAxLCAxLCAxLCAxLCAxLCAxLCAxKQoKY29sLm5hbWVzLmFiciA8LSBjKCJQVUZfQ0FTRV9JRCIsICJQVUZfRkFDSUxJVFlfSUQiLCAiRkFDSUxJVFlfVFlQRV9DRCIsICJGQUNJTElUWV9MT0NBVElPTl9DRCIsCiAgICAgICAgICAgICAgICAgICAiQUdFIiwgIlNFWCIsICJSQUNFIiwgIlNQQU5JU0hfSElTUEFOSUNfT1JJR0lOIiwgIklOU1VSQU5DRV9TVEFUVVMiLAogICAgICAgICAgICAgICAgICAgIk1FRF9JTkNfUVVBUl8wMCIsICJOT19IU0RfUVVBUl8wMCIsICJVUl9DRF8wMyIsICJNRURfSU5DX1FVQVJfMTIiLCAiTk9fSFNEX1FVQVJfMTIiLAogICAgICAgICAgICAgICAgICAgIlVSX0NEXzEzIiwgIkNST1dGTFkiLCAiQ0RDQ19UT1RBTF9CRVNUIiwgIlNFUVVFTkNFX05VTUJFUiIsICJDTEFTU19PRl9DQVNFIiwKICAgICAgICAgICAgICAgICAgICJZRUFSX09GX0RJQUdOT1NJUyIsICJQUklNQVJZX1NJVEUiLCAiTEFURVJBTElUWSIsICJISVNUT0xPR1kiLCAiQkVIQVZJT1IiLCAiR1JBREUiLAogICAgICAgICAgICAgICAgICAgIkRJQUdOT1NUSUNfQ09ORklSTUFUSU9OIiwgIlRVTU9SX1NJWkUiLCAiUkVHSU9OQUxfTk9ERVNfUE9TSVRJVkUiLAogICAgICAgICAgICAgICAgICAgIlJFR0lPTkFMX05PREVTX0VYQU1JTkVEIiwgIkRYX1NUQUdJTkdfUFJPQ19EQVlTIiwgIlJYX1NVTU1fRFhTVEdfUFJPQyIsICJUTk1fQ0xJTl9UIiwKICAgICAgICAgICAgICAgICAgICJUTk1fQ0xJTl9OIiwgIlROTV9DTElOX00iLCAiVE5NX0NMSU5fU1RBR0VfR1JPVVAiLCAiVE5NX1BBVEhfVCIsICJUTk1fUEFUSF9OIiwgIlROTV9QQVRIX00iLAogICAgICAgICAgICAgICAgICAgIlROTV9QQVRIX1NUQUdFX0dST1VQIiwgIlROTV9FRElUSU9OX05VTUJFUiIsICJBTkFMWVRJQ19TVEFHRV9HUk9VUCIsICJDU19NRVRTX0FUX0RYIiwKICAgICAgICAgICAgICAgICAgICJDU19NRVRTX0VWQUwiLCAiQ1NfRVhURU5TSU9OIiwgIkNTX1RVTU9SX1NJWkVFWFRfRVZBTCIsICJDU19NRVRTX0RYX0JPTkUiLCAiQ1NfTUVUU19EWF9CUkFJTiIsCiAgICAgICAgICAgICAgICAgICAiQ1NfTUVUU19EWF9MSVZFUiIsICJDU19NRVRTX0RYX0xVTkciLCAiTFlNUEhfVkFTQ1VMQVJfSU5WQVNJT04iLCAiQ1NfU0lURVNQRUNJRklDX0ZBQ1RPUl8xIiwKICAgICAgICAgICAgICAgICAgICJDU19TSVRFU1BFQ0lGSUNfRkFDVE9SXzIiLCAiQ1NfU0lURVNQRUNJRklDX0ZBQ1RPUl8zIiwgIkNTX1NJVEVTUEVDSUZJQ19GQUNUT1JfNCIsCiAgICAgICAgICAgICAgICAgICAiQ1NfU0lURVNQRUNJRklDX0ZBQ1RPUl81IiwgIkNTX1NJVEVTUEVDSUZJQ19GQUNUT1JfNiIsICJDU19TSVRFU1BFQ0lGSUNfRkFDVE9SXzciLAogICAgICAgICAgICAgICAgICAgIkNTX1NJVEVTUEVDSUZJQ19GQUNUT1JfOCIsICJDU19TSVRFU1BFQ0lGSUNfRkFDVE9SXzkiLCAiQ1NfU0lURVNQRUNJRklDX0ZBQ1RPUl8xMCIsCiAgICAgICAgICAgICAgICAgICAiQ1NfU0lURVNQRUNJRklDX0ZBQ1RPUl8xMSIsICJDU19TSVRFU1BFQ0lGSUNfRkFDVE9SXzEyIiwgIkNTX1NJVEVTUEVDSUZJQ19GQUNUT1JfMTMiLAogICAgICAgICAgICAgICAgICAgIkNTX1NJVEVTUEVDSUZJQ19GQUNUT1JfMTQiLCAiQ1NfU0lURVNQRUNJRklDX0ZBQ1RPUl8xNSIsICJDU19TSVRFU1BFQ0lGSUNfRkFDVE9SXzE2IiwKICAgICAgICAgICAgICAgICAgICJDU19TSVRFU1BFQ0lGSUNfRkFDVE9SXzE3IiwgIkNTX1NJVEVTUEVDSUZJQ19GQUNUT1JfMTgiLCAiQ1NfU0lURVNQRUNJRklDX0ZBQ1RPUl8xOSIsCiAgICAgICAgICAgICAgICAgICAiQ1NfU0lURVNQRUNJRklDX0ZBQ1RPUl8yMCIsICJDU19TSVRFU1BFQ0lGSUNfRkFDVE9SXzIxIiwgIkNTX1NJVEVTUEVDSUZJQ19GQUNUT1JfMjIiLAogICAgICAgICAgICAgICAgICAgIkNTX1NJVEVTUEVDSUZJQ19GQUNUT1JfMjMiLCAiQ1NfU0lURVNQRUNJRklDX0ZBQ1RPUl8yNCIsICJDU19TSVRFU1BFQ0lGSUNfRkFDVE9SXzI1IiwKICAgICAgICAgICAgICAgICAgICJDU19WRVJTSU9OX0xBVEVTVCIsICJEWF9SWF9TVEFSVEVEX0RBWVMiLCAiRFhfU1VSR19TVEFSVEVEX0RBWVMiLCAiRFhfREVGU1VSR19TVEFSVEVEX0RBWVMiLAogICAgICAgICAgICAgICAgICAgIlJYX1NVTU1fU1VSR19QUklNX1NJVEUiLCAiUlhfSE9TUF9TVVJHX0FQUFJfMjAxMCIsICJSWF9TVU1NX1NVUkdJQ0FMX01BUkdJTlMiLAogICAgICAgICAgICAgICAgICAgIlJYX1NVTU1fU0NPUEVfUkVHX0xOX1NVUiIsICJSWF9TVU1NX1NVUkdfT1RIX1JFR0RJUyIsICJTVVJHX0RJU0NIQVJHRV9EQVlTIiwgIlJFQURNX0hPU1BfMzBfREFZUyIsCiAgICAgICAgICAgICAgICAgICAiUkVBU09OX0ZPUl9OT19TVVJHRVJZIiwgIkRYX1JBRF9TVEFSVEVEX0RBWVMiLCAiUlhfU1VNTV9SQURJQVRJT04iLCAiUkFEX0xPQ0FUSU9OX09GX1JYIiwKICAgICAgICAgICAgICAgICAgICJSQURfVFJFQVRfVk9MIiwgIlJBRF9SRUdJT05BTF9SWF9NT0RBTElUWSIsICJSQURfUkVHSU9OQUxfRE9TRV9DR1kiLCAiUkFEX0JPT1NUX1JYX01PREFMSVRZIiwKICAgICAgICAgICAgICAgICAgICJSQURfQk9PU1RfRE9TRV9DR1kiLCAiUkFEX05VTV9UUkVBVF9WT0wiLCAiUlhfU1VNTV9TVVJHUkFEX1NFUSIsICJSQURfRUxBUFNFRF9SWF9EQVlTIiwKICAgICAgICAgICAgICAgICAgICJSRUFTT05fRk9SX05PX1JBRElBVElPTiIsICJEWF9TWVNURU1JQ19TVEFSVEVEX0RBWVMiLCAiRFhfQ0hFTU9fU1RBUlRFRF9EQVlTIiwgIlJYX1NVTU1fQ0hFTU8iLAogICAgICAgICAgICAgICAgICAgIkRYX0hPUk1PTkVfU1RBUlRFRF9EQVlTIiwgIlJYX1NVTU1fSE9STU9ORSIsICJEWF9JTU1VTk9fU1RBUlRFRF9EQVlTIiwgIlJYX1NVTU1fSU1NVU5PVEhFUkFQWSIsCiAgICAgICAgICAgICAgICAgICAiUlhfU1VNTV9UUk5TUExOVF9FTkRPIiwgIlJYX1NVTU1fU1lTVEVNSUNfU1VSX1NFUSIsICJEWF9PVEhFUl9TVEFSVEVEX0RBWVMiLCAiUlhfU1VNTV9PVEhFUiIsCiAgICAgICAgICAgICAgICAgICAiUEFMTElBVElWRV9DQVJFIiwgIlJYX1NVTU1fVFJFQVRNRU5UX1NUQVRVUyIsICJQVUZfMzBfREFZX01PUlRfQ0QiLCAiUFVGXzkwX0RBWV9NT1JUX0NEIiwKICAgICAgICAgICAgICAgICAgICJEWF9MQVNUQ09OVEFDVF9ERUFUSF9NT05USFMiLCAiUFVGX1ZJVEFMX1NUQVRVUyIsICJSWF9IT1NQX1NVUkdfUFJJTV9TSVRFIiwgIlJYX0hPU1BfQ0hFTU8iLAogICAgICAgICAgICAgICAgICAgIlJYX0hPU1BfSU1NVU5PVEhFUkFQWSIsICJSWF9IT1NQX0hPUk1PTkUiLCAiUlhfSE9TUF9PVEhFUiIsICJQVUZfTVVMVF9TT1VSQ0UiLCAiUkVGRVJFTkNFX0RBVEVfRkxBRyIsCiAgICAgICAgICAgICAgICAgICAiUlhfU1VNTV9TQ09QRV9SRUdfTE5fMjAxMiIsICJSWF9IT1NQX0RYU1RHX1BST0MiLCAiUEFMTElBVElWRV9DQVJFX0hPU1AiLCAiVFVNT1JfU0laRV9TVU1NQVJZIiwKICAgICAgICAgICAgICAgICAgICJNRVRTX0FUX0RYX09USEVSIiwgIk1FVFNfQVRfRFhfRElTVEFOVF9MTiIsICJNRVRTX0FUX0RYX0JPTkUiLCAiTUVUU19BVF9EWF9CUkFJTiIsCiAgICAgICAgICAgICAgICAgICAiTUVUU19BVF9EWF9MSVZFUiIsICJNRVRTX0FUX0RYX0xVTkciLCAiTk9fSFNEX1FVQVJfMTYiLCAiTUVEX0lOQ19RVUFSXzE2IiwgIk1FRElDQUlEX0VYUE5fQ09ERSIpCgoKCiNSZWFkIGluIGRhdGEgZm9yIGVhY2ggc3Vic2l0ZQpsaXAgPC0gcmVhZF9md2YoJ05DREJQVUZfTGlwLjMuMjAxNi4wLmRhdCcsIAogICAgICAgICAgICAgICAgICAgICAgIGZ3Zl93aWR0aHMoY29sLndpZHRoLCBjb2xfbmFtZXMgPSBjb2wubmFtZXMuYWJyKSwKICAgICAgICAgICAgICAgICAgICAgICBjb2xfdHlwZXMgPSBjb2xzKC5kZWZhdWx0ID0gY29sX2NoYXJhY3RlcigpKSkKCm1lbGFub21hIDwtIHJlYWRfZndmKCdOQ0RCUFVGX01lbGFub21hLjMuMjAxNi4wLmRhdCcsIAogICAgICAgICAgICAgICAgICAgICAgIGZ3Zl93aWR0aHMoY29sLndpZHRoLCBjb2xfbmFtZXMgPSBjb2wubmFtZXMuYWJyKSwKICAgICAgICAgICAgICAgICAgICAgICBjb2xfdHlwZXMgPSBjb2xzKC5kZWZhdWx0ID0gY29sX2NoYXJhY3RlcigpKSkKICAgICAgICAgICAgICAgICAgICAgICAKc2tpbiA8LSByZWFkX2Z3ZignTkNEQlBVRl9PdFNraW4uMy4yMDE2LjAuZGF0JywgCiAgICAgICAgICAgICAgICAgICAgICAgZndmX3dpZHRocyhjb2wud2lkdGgsIGNvbF9uYW1lcyA9IGNvbC5uYW1lcy5hYnIpLAogICAgICAgICAgICAgICAgICAgICAgIGNvbF90eXBlcyA9IGNvbHMoLmRlZmF1bHQgPSBjb2xfY2hhcmFjdGVyKCkpKQoKaG9kZ2V4dHIgPC0gcmVhZF9md2YoJ05DREJQVUZfSG9kZ0V4dHIuMy4yMDE2LjAuZGF0JywgCiAgICAgICAgICAgICAgICAgICAgICAgZndmX3dpZHRocyhjb2wud2lkdGgsIGNvbF9uYW1lcyA9IGNvbC5uYW1lcy5hYnIpLAogICAgICAgICAgICAgICAgICAgICAgIGNvbF90eXBlcyA9IGNvbHMoLmRlZmF1bHQgPSBjb2xfY2hhcmFjdGVyKCkpKQoKaG9kZ25kYWwgPC0gcmVhZF9md2YoJ05DREJQVUZfSG9kZ05kYWwuMy4yMDE2LjAuZGF0JywgCiAgICAgICAgICAgICAgICAgICAgICAgZndmX3dpZHRocyhjb2wud2lkdGgsIGNvbF9uYW1lcyA9IGNvbC5uYW1lcy5hYnIpLAogICAgICAgICAgICAgICAgICAgICAgIGNvbF90eXBlcyA9IGNvbHMoLmRlZmF1bHQgPSBjb2xfY2hhcmFjdGVyKCkpKQoKTkhMbmRhbCA8LSByZWFkX2Z3ZignTkNEQlBVRl9OSExOZGFsLjMuMjAxNi4wLmRhdCcsIAogICAgICAgICAgICAgICAgICAgICAgIGZ3Zl93aWR0aHMoY29sLndpZHRoLCBjb2xfbmFtZXMgPSBjb2wubmFtZXMuYWJyKSwKICAgICAgICAgICAgICAgICAgICAgICBjb2xfdHlwZXMgPSBjb2xzKC5kZWZhdWx0ID0gY29sX2NoYXJhY3RlcigpKSkKCmJyZWFzdCA8LSAgcmVhZF9md2YoJ05DREJQVUZfQnJlYXN0LjMuMjAxNi4wLmRhdCcsIAogICAgICAgICAgICAgICAgICAgICAgIGZ3Zl93aWR0aHMoY29sLndpZHRoLCBjb2xfbmFtZXMgPSBjb2wubmFtZXMuYWJyKSwKICAgICAgICAgICAgICAgICAgICAgICBjb2xfdHlwZXMgPSBjb2xzKC5kZWZhdWx0ID0gY29sX2NoYXJhY3RlcigpKSkKCnZ1bHZhIDwtICByZWFkX2Z3ZignTkNEQlBVRl9WdWx2YS4zLjIwMTYuMC5kYXQnLCAKICAgICAgICAgICAgICAgICAgICAgICBmd2Zfd2lkdGhzKGNvbC53aWR0aCwgY29sX25hbWVzID0gY29sLm5hbWVzLmFiciksCiAgICAgICAgICAgICAgICAgICAgICAgY29sX3R5cGVzID0gY29scyguZGVmYXVsdCA9IGNvbF9jaGFyYWN0ZXIoKSkpCgp2YWdpbmEgPC0gIHJlYWRfZndmKCdOQ0RCUFVGX1ZhZ2luYS4zLjIwMTYuMC5kYXQnLCAKICAgICAgICAgICAgICAgICAgICAgICBmd2Zfd2lkdGhzKGNvbC53aWR0aCwgY29sX25hbWVzID0gY29sLm5hbWVzLmFiciksCiAgICAgICAgICAgICAgICAgICAgICAgY29sX3R5cGVzID0gY29scyguZGVmYXVsdCA9IGNvbF9jaGFyYWN0ZXIoKSkpCgpwZW5pcyA8LSAgcmVhZF9md2YoJ05DREJQVUZfUGVuaXMuMy4yMDE2LjAuZGF0JywgCiAgICAgICAgICAgICAgICAgICAgICAgZndmX3dpZHRocyhjb2wud2lkdGgsIGNvbF9uYW1lcyA9IGNvbC5uYW1lcy5hYnIpLAogICAgICAgICAgICAgICAgICAgICAgIGNvbF90eXBlcyA9IGNvbHMoLmRlZmF1bHQgPSBjb2xfY2hhcmFjdGVyKCkpKQoKI0NvbWJpbmUgZGF0YSBmb3IgYWxsIHN1YnNpdGVzCmRhdCA8LSBiaW5kX3Jvd3MobGlwLCBtZWxhbm9tYSwgc2tpbiwgaG9kZ2V4dHIsIGhvZGduZGFsLCBOSExuZGFsLCBicmVhc3QsIAogICAgICAgICAgICAgICAgIHZ1bHZhLCB2YWdpbmEsIHBlbmlzKQoKcm0obGlwLCBtZWxhbm9tYSwgc2tpbiwgaG9kZ2V4dHIsIGhvZGduZGFsLCBOSExuZGFsLCBicmVhc3QsIHZ1bHZhLCB2YWdpbmEsIHBlbmlzKQoKcHJpbV9zaXRlX3RleHQgPC0gZGF0YV9mcmFtZShQUklNQVJZX1NJVEUgPSAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI2xpcAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYygiQzAwMCIsICJDMDAxIiwgIkMwMDIiLCAiQzAwMyIsICJDMDA0IiwgIkMwMDUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiQzAwNiIsICJDMDA4IiwgIkMwMDkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI3NraW4vbWVsYW5vbWEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkM0NDAiLCAiQzQ0MSIsICJDNDQyIiwgIkM0NDMiLCAiQzQ0NCIsICJDNDQ1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkM0NDYiLCAiQzQ0NyIsICJDNDQ4IiwgIkM0NDkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI2JyZWFzdCAtIG5pcHBsZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiQzUwMCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjdmFnaW5hL3Z1bHZhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJDNTEwIiwgIkM1MTEiLCAiQzUxMiIsICJDNTE4IiwgIkM1MTkiLCAiQzUyOSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjcGVuaXMKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkM2MDAiLCAiQzYwMSIsICJDNjAyIiwgIkM2MDgiLCAiQzYwOSIsICJDNjM5IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLCAgICAgICAgICAgICAgICAKU0lURV9URVhUID0gYygKICAjbGlwIAoiQzAwLjAgRXh0ZXJuYWwgTGlwOiBVcHBlciBOT1MiLAoiQzAwLjEgRXh0ZXJuYWwgTGlwOiBMb3dlciBOT1MiLAoiQzAwLjIgIEV4dGVybmFsIExpcDogTk9TIiwKIkMwMC4zIExpcDogVXBwZXIgTXVjb3NhIiwgCiJDMDAuNCBMaXA6IExvd2VyIE11Y29zYSIsIAoiQzAwLjUgTGlwOiBNdWNvc2EgTk9TIiwKIkMwMC42IExpcDogQ29tbWlzc3VyZSIsIAoiQzAwLjggTGlwOiBPdmVybGFwcGluZyIsIAoiQzAwLjkgTGlwLCBOT1MiLAoKCiAjc2tpbgoiQzQ0LjAgU2tpbiBvZiBsaXAsIE5PUyIsCiJDNDQuMSBFeWVsaWQiLAoiQzQ0LjIgRXh0ZXJuYWwgZWFyIiwKIkM0NC4zIFNraW4gb2YgZWFyIGFuZCB1bnNwZWNpZmllZCBwYXJ0cyBvZiBmYWNlIiwKIkM0NC40IFNraW4gb2Ygc2NhbHAgYW5kIG5lY2siLAoiQzQ0LjUgU2tpbiBvZiB0cnVuayIsCiJDNDQuNiBTa2luIG9mIHVwcGVyIGxpbWIgYW5kIHNob3VsZGVyIiwKIkM0NC43IFNraW4gb2YgbG93ZXIgbGltYiBhbmQgaGlwIiwKIkM0NC44IE92ZXJsYXBwaW5nIGxlc2lvbiBvZiBza2luIiwKIkM0NC45IFNraW4sIE5PUyIsIAoKI2JyZWFzdAoiQzUwLjAgTmlwcGxlIiwKCiN2dWx2YS92YWdpbmEKIkM1MS4wIExhYml1bSBtYWp1cyIsCiJDNTEuMSBMYWJpdW0gbWludXMiLAoiQzUxLjIgQ2xpdG9yaXMiLAoiQzUxLjggT3ZlcmxhcHBpbmcgbGVzaW9uIG9mIHZ1bHZhIiwKIkM1MS45IFZ1bHZhLCBOT1MiLAoiQzUyLjkgVmFnaW5hLCBOT1MiLAoKI3BlbmlzCiJDNjAuMCBQcmVwdWNlIiwKIkM2MC4xIEdsYW5zIHBlbmlzIiwKIkM2MC4yIEJvZHkgb2YgcGVuaXMiLAoiQzYwLjggT3ZlcmxhcHBpbmcgbGVzaW9uIG9mIHBlbmlzIiwKIkM2MC45IFBlbmlzIiwKIkM2My4yIFNjcm90dW0sIE5PUyIpKQoKCmRhdCA8LSBtZXJnZShkYXQsIHByaW1fc2l0ZV90ZXh0LCBieSA9ICJQUklNQVJZX1NJVEUiLCBhbGwueCA9IFRSVUUpIAogCnJtKHByaW1fc2l0ZV90ZXh0KQoKIyBjb252ZXJ0IG51bWVyaWMgdmFyaWFibGVzIGZyb20gY2hhcmFjdGVyIGNsYXNzIHRvIG51bWVyaWMgY2xhc3MKbnVtX3ZhcnMgPC0gYygiQUdFIiwgIkNST1dGTFkiLCAiVFVNT1JfU0laRSIsICJEWF9TVEFHSU5HX1BST0NfREFZUyIsICJEWF9SWF9TVEFSVEVEX0RBWVMiLCAiRFhfU1VSR19TVEFSVEVEX0RBWVMiLAogICAgICAgICAgICAgICJEWF9ERUZTVVJHX1NUQVJURURfREFZUyIsICJTVVJHX0RJU0NIQVJHRV9EQVlTIiwgIkRYX1JBRF9TVEFSVEVEX0RBWVMiLCAgIlJBRF9SRUdJT05BTF9ET1NFX0NHWSIsCiAgICAgICAgICAgICAgIlJBRF9CT09TVF9ET1NFX0NHWSIsICJSQURfRUxBUFNFRF9SWF9EQVlTIiwgIkRYX1NZU1RFTUlDX1NUQVJURURfREFZUyIsICJEWF9DSEVNT19TVEFSVEVEX0RBWVMiLCAKICAgICAgICAgICAgICAiRFhfSE9STU9ORV9TVEFSVEVEX0RBWVMiLCAiRFhfT1RIRVJfU1RBUlRFRF9EQVlTIiwgIkRYX0xBU1RDT05UQUNUX0RFQVRIX01PTlRIUyIsCiAgICAgICAgICAgICAgIlJBRF9OVU1fVFJFQVRfVk9MIikKCmRhdFtudW1fdmFyc10gPC0gbGFwcGx5KGRhdFtudW1fdmFyc10sIGFzLm51bWVyaWMpCgoKIyBjb252ZXJ0IGZhY3RvciB2YXJpYWJsZXMgZnJvbSBjaGFyYWN0ZXIgY2xhc3MgdG8gZmFjdG9yIGNsYXNzCnZhcnMgPC0gbmFtZXMoZGF0KQpmYWN0X3ZhcnMgPC0gdmFyc1shKHZhcnMgJWluJSBudW1fdmFycyldICMgYmFzaWNhbGx5IGFsbCBvZiB0aGUgbm9uLW51bWVyaWNzCgpkYXRbZmFjdF92YXJzXSA8LSBsYXBwbHkoZGF0W2ZhY3RfdmFyc10sIGFzLmNoYXJhY3RlcikKZGF0W2ZhY3RfdmFyc10gPC0gbGFwcGx5KGRhdFtmYWN0X3ZhcnNdLCBhcy5mYWN0b3IpCgpkYXQgPC0gZGF0ICU+JQogICAgICAgIG11dGF0ZShGQUNJTElUWV9UWVBFX0YgPSBmY3RfcmVjb2RlKEZBQ0lMSVRZX1RZUEVfQ0QsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkNvbW11bml0eSBDYW5jZXIgUHJvZ3JhbSIgPSAiMSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkNvbXByZWhlbnNpdmUgQ29tbSBDYSBQcm9ncmFtIiA9ICIyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiQWNhZGVtaWMvUmVzZWFyY2ggUHJvZ3JhbSIgPSAiMyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkludGVncmF0ZWQgTmV0d29yayBDYSBQcm9ncmFtIiA9ICI0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiT3RoZXIiID0gIjkiKSkgJT4lCiAgICAgICAgbXV0YXRlKEZBQ0lMSVRZX0xPQ0FUSU9OX0YgPSBmY3RfcmVjb2RlKEZBQ0lMSVRZX0xPQ0FUSU9OX0NELAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJOZXcgRW5nbGFuZCIgPSAiMSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIk1pZGRsZSBBdGxhbnRpYyIgPSAiMiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlNvdXRoIEF0bGFudGljIiA9ICIzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiRWFzdCBOb3J0aCBDZW50cmFsIiA9ICI0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiRWFzdCBTb3V0aCBDZW50cmFsIiA9ICI1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiV2VzdCBOb3J0aCBDZW50cmFsIiA9ICI2IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiV2VzdCBTb3V0aCBDZW50cmFsIiA9ICI3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiTW91bnRhaW4iID0gIjgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJQYWNpZmljIiA9ICI5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3V0IG9mIFVTIiA9ICIwIikpICU+JQogICAgICAgIG11dGF0ZShGQUNJTElUWV9HRU9HUkFQSFkgPSBmY3RfY29sbGFwc2UoRkFDSUxJVFlfTE9DQVRJT05fQ0QsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiTm9ydGhlYXN0IiA9IGMoIjEiLCAiMiIpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlNvdXRoIiA9IGMoIjMiLCAiNyIpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIk1pZHdlc3QiID0gYygiNCIsICI1IiwgIjYiKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJXZXN0IiA9IGMoIjgiLCAiOSIpKSkgJT4lCiAgICAgICAgbXV0YXRlKEFHRV9GID0gY3V0KEFHRSwgYygwLCA1NCwgNjQsIDc0LCAxMDApKSkgJT4lCiAgICAgICAgbXV0YXRlKEFHRV80MCA9IGN1dChBR0UsIGMoMCwgNDAsIDEwMCkpKSAlPiUKICAgICAgICBtdXRhdGUoU0VYX0YgPSBmY3RfcmVjb2RlKFNFWCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiTWFsZSIgPSAiMSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkZlbWFsZSIgPSAiMiIpKSAlPiUKICAgICAgICBtdXRhdGUoUkFDRV9GID0gZmN0X2NvbGxhcHNlKFJBQ0UsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIldoaXRlIiA9IGMoIjAxIiksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkJsYWNrIiA9IGMoIjAyIiksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkFzaWFuIiA9IGMoIjA0IiwgIjA1IiwgIjA2IiwgIjA3IiwgIjA4IiwgIjEwIiwgIjExIiwgIjEyIiwgIjEzIiwgIjE0IiwgIjE1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiMTYiLCAiMTciLCAiMjAiLCAiMjEiLCAiMjIiLCAiMjUiLCAiMjYiLCAiMjciLCAiMjgiLCAiMzAiLCAiMzEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIzMiIsICI5NiIsICI5NyIpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJPdGhlci9VbmsiID0gYygiMDMiLCAiOTgiLCAiOTkiKSkpICU+JQogICAgICAgIG11dGF0ZShISVNQQU5JQyA9IGZjdF9jb2xsYXBzZShTUEFOSVNIX0hJU1BBTklDX09SSUdJTiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlllcyIgPSBjKCIxIiwgIjIiLCAiMyIsICI0IiwgIjUiLCAiNiIsICI3IiwgIjgiKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIk5vIiA9IGMoIjAiKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlVua25vd24iID0gYygiOSIpKSkgJT4lCiAgICAgICAgbXV0YXRlKElOU1VSQU5DRV9GID0gZmN0X3JlY29kZShJTlNVUkFOQ0VfU1RBVFVTLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJOb25lIiA9ICIwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiUHJpdmF0ZSIgPSAiMSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIk1lZGljYWlkIiA9ICIyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiTWVkaWNhcmUiID0gIjMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJPdGhlciBHb3Zlcm5tZW50IiA9ICI0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiVW5rbm93biIgPSAiOSIpKSAlPiUKICAgICAgICBtdXRhdGUoSU5TVVJBTkNFX0YgPSBmY3RfcmVsZXZlbChJTlNVUkFOQ0VfRiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiUHJpdmF0ZSIpKSAlPiUKICAgICAgICBtdXRhdGUoSU5DT01FX0YgPSBmY3RfcmVjb2RlKE1FRF9JTkNfUVVBUl8xMiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiTGVzcyB0aGFuICQzOCwwMDAiID0gIjEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIkMzgsMDAwIC0gJDQ3LDk5OSIgPSAiMiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIiQ0OCwwMDAgLSAkNjIsOTk5IiA9ICIzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiJDYzLDAwMCArIiA9ICI0IikpICU+JQogICAgICAgIG11dGF0ZShFRFVDQVRJT05fRiA9IGZjdF9yZWNvZGUoTk9fSFNEX1FVQVJfMTIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiMjElIG9yIG1vcmUiID0gIjEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIjEzIC0gMjAuOSUiID0gIjIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIjcgLSAxMi45JSIgPSAiMyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiTGVzcyB0aGFuIDclIiA9ICI0IikpICU+JQogICAgICAgIG11dGF0ZShVX1JfRiA9IGZjdF9jb2xsYXBzZShVUl9DRF8xMywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIk1ldHJvIiA9IGMoIjEiLCAiMiIsICIzIiksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJVcmJhbiIgPSBjKCI0IiwgIjUiLCAiNiIsICI3IiksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJSdXJhbCIgPSBjKCI4IiwgIjkiKSkpICU+JQogICAgICAgIG11dGF0ZShDTEFTU19PRl9DQVNFX0YgPSBmY3RfY29sbGFwc2UoQ0xBU1NfT0ZfQ0FTRSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFsbF9QYXJ0X1ByaW0gPSBjKCIxMCIsICIxMSIsICIxMiIsICIxMyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiMTQiLCAiMjAiLCAiMjEiLCAiMjIiKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE90aGVyX0ZhY2lsaXR5ID0gYygiMDAiKSkpICU+JQogICAgICAgIG11dGF0ZShHUkFERV9GID0gZmN0X3JlY29kZShHUkFERSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJHciBJOiBXZWxsIERpZmYiID0gIjEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkdyIElJOiBNb2QgRGlmZiIgPSAiMiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiR3IgSUlJOiBQb29yIERpZmYiID0gIjMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkdyIElWOiBVbmRpZmYvQW5hcGxhc3RpYyIgPSAiNCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiTkEvVW5rb3duIiA9ICI5IikpICU+JQogICAgICAgIG11dGF0ZShISVNUT0xPR1lfRiA9IGZjdF9pbmZyZXEoSElTVE9MT0dZKSkgJT4lCiAgICAgICAgbXV0YXRlKEhJU1RPTE9HWV9GID0gZmFjdG9yKEhJU1RPTE9HWV9GKSkgJT4lCiAgICAgICAgbXV0YXRlKEhJU1RPTE9HWV9GX0xJTSA9IGZjdF9sdW1wKEhJU1RPTE9HWV9GLCBwcm9wID0gMC4wNSkpICU+JQogICAgICAgIG11dGF0ZShUTk1fQ0xJTl9UID0gZmN0X3JlY29kZShUTk1fQ0xJTl9ULAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiTl9BIiA9ICI4OCIpKSAlPiUKICAgICAgICBtdXRhdGUoVE5NX0NMSU5fVCA9IGZjdF9yZWxldmVsKFROTV9DTElOX1QsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiMSIpKSAlPiUKICAgICAgICBtdXRhdGUoVE5NX0NMSU5fTiA9IGZjdF9yZWNvZGUoVE5NX0NMSU5fTiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIk5fQSIgPSAiODgiKSkgJT4lCiAgICAgICAgbXV0YXRlKFROTV9DTElOX00gPSBmY3RfcmVjb2RlKFROTV9DTElOX00sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJOX0EiID0gIjg4IikpICU+JQogICAgICAgIG11dGF0ZShUTk1fUEFUSF9UID0gZmN0X3JlY29kZShUTk1fUEFUSF9ULAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiTl9BIiA9ICI4OCIpKSAlPiUKICAgICAgICBtdXRhdGUoVE5NX1BBVEhfVCA9IGZjdF9yZWxldmVsKFROTV9QQVRIX1QsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiMSIpKSAlPiUKICAgICAgICBtdXRhdGUoVE5NX1BBVEhfTiA9IGZjdF9yZWNvZGUoVE5NX1BBVEhfTiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIk5fQSIgPSAiODgiKSkgJT4lCiAgICAgICAgbXV0YXRlKFROTV9QQVRIX00gPSBmY3RfcmVjb2RlKFROTV9QQVRIX00sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJOX0EiID0gIjg4IikpICU+JQogICAgICAgIG11dGF0ZShUTk1fQ0xJTl9TVEFHRV9HUk9VUCA9IGZjdF9yZWNvZGUoVE5NX0NMSU5fU1RBR0VfR1JPVVAsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJOX0EiID0gIjg4IikpICU+JQogICAgICAgIG11dGF0ZShUTk1fUEFUSF9TVEFHRV9HUk9VUCA9IGZjdF9yZWNvZGUoVE5NX1BBVEhfU1RBR0VfR1JPVVAsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJOX0EiID0gIjg4IikpICU+JQogICAgICAgIG11dGF0ZShNQVJHSU5TID0gZmN0X3JlY29kZShSWF9TVU1NX1NVUkdJQ0FMX01BUkdJTlMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJObyBSZXNpZHVhbCIgPSAiMCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJSZXNpZHVhbCwgTk9TIiA9ICIxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIk1pY3Jvc2NvcGljIFJlc2lkIiA9ICIyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIk1hY3Jvc2NvcGljIFJlc2lkIiA9ICIzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIk5vdCBldmFsdWFibGUiID0gIjciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiTm8gc3VyZyIgPSAiOCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJVbmtub3duIiA9ICI5IikpICU+JQogICAgICAgIG11dGF0ZShNQVJHSU5TX1lOID0gZmN0X2NvbGxhcHNlKFJYX1NVTU1fU1VSR0lDQUxfTUFSR0lOUywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiWWVzIiA9IGMoIjEiLCAiMiIsICIzIiksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIk5vIiA9IGMoIjAiKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiTm8gc3VyZy9VbmsvTkEiID0gYygiNyIsICI4IiwgIjkiKSkpICU+JQogICAgICAgIG11dGF0ZShSRUFETV9IT1NQXzMwX0RBWVNfRiA9IGZjdF9yZWNvZGUoUkVBRE1fSE9TUF8zMF9EQVlTLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIk5vX1N1cmdfb3JfTm9fUmVhZG1pdCIgPSAiMCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiVW5wbGFuX1JlYWRtaXRfU2FtZSIgPSAiMSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiUGxhbl9SZWFkbWl0X1NhbWUiID0gIjIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlBsYW5VbnBsYW5fU2FtZSIgPSAiMyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiVW5rbm93biIgPSAiNCIpKSAlPiUKICAgICAgICBtdXRhdGUoUlhfU1VNTV9SQURJQVRJT05fRiA9IGZjdF9yZWNvZGUoUlhfU1VNTV9SQURJQVRJT04sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJOb25lIiA9ICIwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkJlYW0gUmFkaWF0aW9uIiA9ICIxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlJhZGlvYWN0aXZlIEltcGxhbnRzIiA9ICIyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlJhZGlvaXNvdG9wZXMiID0gIjMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiQmVhbSArIEltcCBvciBJc290b3BlcyIgPSAiNCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJSYWRpYXRpb24sIE5PUyIgPSAiNSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJVbmtub3duIiA9ICI5IikpICU+JQogICAgICAgIG11dGF0ZShQVUZfMzBfREFZX01PUlRfQ0RfRiA9IGZjdF9yZWNvZGUoUFVGXzMwX0RBWV9NT1JUX0NELAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkFsaXZlXzMwIiA9ICIwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJEZWFkXzMwIiA9ICIxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJVbmtub3duIiA9ICI5IikpICU+JQogICAgICAgIG11dGF0ZShQVUZfOTBfREFZX01PUlRfQ0RfRiA9IGZjdF9yZWNvZGUoUFVGXzkwX0RBWV9NT1JUX0NELAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkFsaXZlXzkwIiA9ICIwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJEZWFkXzkwIiA9ICIxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJVbmtub3duIiA9ICI5IikpICU+JQogICAgICAgIG11dGF0ZShMWU1QSF9WQVNDVUxBUl9JTlZBU0lPTl9GID0gZmN0X3JlY29kZShMWU1QSF9WQVNDVUxBUl9JTlZBU0lPTiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIk5lZ19MeW1waFZhc2NfSW52IiA9ICIwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlBvc19MdW1waFZhc2NfSW52IiA9ICIxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIk5fQSIgPSAiOCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJVbmtub3duIiA9ICI5IikpICU+JQogICAgICAgIG11dGF0ZShSWF9IT1NQX1NVUkdfQVBQUl8yMDEwX0YgPSBmY3RfcmVjb2RlKFJYX0hPU1BfU1VSR19BUFBSXzIwMTAsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIk5vX1N1cmciID0gIjAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJSb2JvdF9Bc3Npc3QiID0gIjEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJSb2JvdF90b19PcGVuIiA9ICIyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiRW5kb19MYXAiID0gIjMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJFbmRvX0xhcF90b19PcGVuIiA9ICI0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiT3Blbl9Vbmtub3duIiA9ICI1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiVW5rbm93biIgPSAiOSIpKSAlPiUKICAgICAgICBtdXRhdGUoQWxsID0gIkFsbCIpICU+JQogICAgICAgIG11dGF0ZShBbGwgPSBmYWN0b3IoQWxsKSkgJT4lCiAgICAgICAgbXV0YXRlKFJFQVNPTl9GT1JfTk9fU1VSR0VSWV9GID0gZmN0X3JlY29kZShSRUFTT05fRk9SX05PX1NVUkdFUlksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiU3VyZyBwZXJmb3JtZWQiID0gIjAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlN1cmcgbm90IHJlY29tbWVuZGVkIiA9ICIxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJObyBzdXJnIGR1ZSB0byBwdCBmYWN0b3JzIiA9ICIyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJObyBzdXJnLCBwdCBkaWVkIiA9ICI1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJTdXJnIHJlYywgbm90IGRvbmUiID0gIjYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlN1cmcgcmVjLCBwdCByZWZ1c2VkIiA9ICI3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJTdXJnIHJlYywgdW5rIGlmIGRvbmUiID0gIjgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlVua25vd24iID0gIjkiKSkgJT4lCiAgICAgICAgbXV0YXRlKFNVUkdFUllfWU4gPSBpZmVsc2UoUkVBU09OX0ZPUl9OT19TVVJHRVJZID09ICIwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiWWVzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZmVsc2UoUkVBU09OX0ZPUl9OT19TVVJHRVJZID09ICI5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlVrbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJObyIpKSkgJT4lCiAgICAgICAgbXV0YXRlKFNVUkdfVEYgPSBjYXNlX3doZW4oU1VSR0VSWV9ZTiA9PSAiWWVzIiB+IFRSVUUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU1VSR0VSWV9ZTiA9PSAiTm8iIH4gRkFMU0UsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVFJVRSB+IE5BKSkgICU+JQogICAgICAgIG11dGF0ZShSRUFTT05fRk9SX05PX1JBRElBVElPTl9GID0gZmN0X3JlY29kZShSRUFTT05fRk9SX05PX1JBRElBVElPTiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJSYWQgcGVyZm9ybWVkIiA9ICIwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJSYWQgbm90IHJlY29tbWVuZGVkIiA9ICIxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJObyBSYWQgZHVlIHRvIHB0IGZhY3RvcnMiID0gIjIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIk5vIFJhZCwgcHQgZGllZCIgPSAiNSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiUmFkIHJlYywgbm90IGRvbmUiID0gIjYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlJhZCByZWMsIHB0IHJlZnVzZWQiID0gIjciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlJhZCByZWMsIHVuayBpZiBkb25lIiA9ICI4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJVbmtub3duIiA9ICI5IikpICU+JQogICAgICAgIG11dGF0ZShSQURJQVRJT05fWU4gPSBpZmVsc2UoUkVBU09OX0ZPUl9OT19SQURJQVRJT04gPT0gIjAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJZZXMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmZWxzZShSRUFTT05fRk9SX05PX1JBRElBVElPTiA9PSAiOSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5BLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiTm8iKSkpICU+JQogICAgICAgIG11dGF0ZShTVVJHUkFEX1NFUV9GID0gZmN0X3JlY29kZShSWF9TVU1NX1NVUkdSQURfU0VRLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiTm9uZSBvciBTdXJnIG9yIFJhZCIgPSAiMCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJSYWQgYmVmb3JlIFN1cmciID0gIjIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiU3VyZyBiZWZvcmUgUmFkIiA9ICIzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlJhZCBiZWZvcmUgYW5kIGFmdGVyIFN1cmciID0gIjQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiSW50cmFvcCBSYWQiID0gIjUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiSW50cmFvcCBSYWQgcGx1cyBvdGhlciIgPSAiNiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJVbmtub3duIiA9ICI5IikpICU+JQogICAgICAgIG11dGF0ZShTVVJHX1JBRF9TRVEgPSBpZmVsc2UoU1VSR0VSWV9ZTiA9PSAiWWVzIiAmIFJYX1NVTU1fU1VSR1JBRF9TRVEgPT0gIjAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlN1cmcgQWxvbmUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWZlbHNlKFJBRElBVElPTl9ZTiA9PSAiWWVzIiAmIFJYX1NVTU1fU1VSR1JBRF9TRVEgPT0gIjAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJSYWQgQWxvbmUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmZWxzZShTVVJHRVJZX1lOID09ICJObyIgJiBSQURJQVRJT05fWU4gPT0gIk5vIiAmIFJYX1NVTU1fU1VSR1JBRF9TRVEgPT0gIjAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiTm8gVHJlYXRtZW50IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWZlbHNlKFJYX1NVTU1fU1VSR1JBRF9TRVEgPT0gIjIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlJhZCB0aGVuIFN1cmciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWZlbHNlKFJYX1NVTU1fU1VSR1JBRF9TRVEgPT0gIjMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJTdXJnIHRoZW4gUmFkIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZmVsc2UoUlhfU1VNTV9TVVJHUkFEX1NFUSA9PSAiNCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJSYWQgYmVmb3JlIGFuZCBhZnRlciBTdXJnIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIk90aGVyIikpKSkpKSkgJT4lCiAgICAgICAgbXV0YXRlKFNVUkdfUkFEX1NFUSA9IGZjdF9yZWxldmVsKFNVUkdfUkFEX1NFUSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlN1cmcgQWxvbmUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiU3VyZyB0aGVuIFJhZCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJSYWQgQWxvbmUiKSkgJT4lCiAgICAgICAgbXV0YXRlKENIRU1PX1lOID0gZmN0X2NvbGxhcHNlKFJYX1NVTU1fQ0hFTU8sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJObyIgPSBjKCIwMCIsICI4MiIsICI4NSIsICI4NiIsICI4NyIpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiWWVzIiA9IGMoIjAxIiwgIjAyIiwgIjAzIiksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJVa24iID0gYygiODgiLCAiOTkiKSkpICU+JQogICAgICAgIG11dGF0ZShTVVJHX1JBRF9TRVFfQyA9IGlmZWxzZShTVVJHRVJZX1lOID09ICJZZXMiICYgUlhfU1VNTV9TVVJHUkFEX1NFUSA9PSAiMCIgJiBDSEVNT19ZTiA9PSAiTm8iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlN1cmcsIE5vIHJhZCwgTm8gQ2hlbW8iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWZlbHNlKFJBRElBVElPTl9ZTiA9PSAiWWVzIiAmIFJYX1NVTU1fU1VSR1JBRF9TRVEgPT0gIjAiICYgQ0hFTU9fWU4gPT0gIk5vIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiUmFkLCBObyBTdXJnLCBObyBDaGVtbyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWZlbHNlKFNVUkdFUllfWU4gPT0gIk5vIiAmIFJBRElBVElPTl9ZTiA9PSAiTm8iICYgUlhfU1VNTV9TVVJHUkFEX1NFUSA9PSAiMCIgJiBDSEVNT19ZTiA9PSAiTm8iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiTm8gU3VyZywgTm8gUmFkLCBObyBDaGVtbyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmZWxzZShSWF9TVU1NX1NVUkdSQURfU0VRID09ICIyIiAmIENIRU1PX1lOID09ICJObyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiUmFkIHRoZW4gU3VyZywgTm8gQ2hlbW8iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWZlbHNlKFJYX1NVTU1fU1VSR1JBRF9TRVEgPT0gIjMiICYgQ0hFTU9fWU4gPT0gIk5vIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiU3VyZyB0aGVuIFJhZCwgTm8gQ2hlbW8iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmZWxzZShSWF9TVU1NX1NVUkdSQURfU0VRID09ICI0IiAmIENIRU1PX1lOID09ICJObyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJSYWQgYmVmb3JlIGFuZCBhZnRlciBTdXJnLCBObyBDaGVtbyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWZlbHNlKFNVUkdFUllfWU4gPT0gIlllcyIgJiBSWF9TVU1NX1NVUkdSQURfU0VRID09ICIwIiAmIENIRU1PX1lOID09ICJZZXMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiU3VyZywgTm8gcmFkLCBZZXMgQ2hlbW8iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZmVsc2UoUkFESUFUSU9OX1lOID09ICJZZXMiICYgUlhfU1VNTV9TVVJHUkFEX1NFUSA9PSAiMCIgJiBDSEVNT19ZTiA9PSAiWWVzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJSYWQsIE5vIFN1cmcsIFllcyBDaGVtbyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZmVsc2UoU1VSR0VSWV9ZTiA9PSAiTm8iICYgUkFESUFUSU9OX1lOID09ICJObyIgJiBSWF9TVU1NX1NVUkdSQURfU0VRID09ICIwIiAmIENIRU1PX1lOID09ICJZZXMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJObyBTdXJnLCBObyBSYWQsIFllcyBDaGVtbyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWZlbHNlKFJYX1NVTU1fU1VSR1JBRF9TRVEgPT0gIjIiICYgQ0hFTU9fWU4gPT0gIlllcyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJSYWQgdGhlbiBTdXJnLCBZZXMgQ2hlbW8iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZmVsc2UoUlhfU1VNTV9TVVJHUkFEX1NFUSA9PSAiMyIgJiBDSEVNT19ZTiA9PSAiWWVzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJTdXJnIHRoZW4gUmFkLCBZZXMgQ2hlbW8iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWZlbHNlKFJYX1NVTU1fU1VSR1JBRF9TRVEgPT0gIjQiICYgQ0hFTU9fWU4gPT0gIlllcyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlJhZCBiZWZvcmUgYW5kIGFmdGVyIFN1cmcsIFllcyBDaGVtbyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIk90aGVyIikpKSkpKSkpKSkpKSkgJT4lCiAgICAgICAgbXV0YXRlKFNVUkdfUkFEX1NFUV9DID0gZmN0X2luZnJlcShTVVJHX1JBRF9TRVFfQykpICU+JQogICAgICAgIG11dGF0ZShUX1NJWkUgPSBhcy5udW1lcmljKFRVTU9SX1NJWkUpKSAlPiUKICAgICAgICBtdXRhdGUoVF9TSVpFID0gaWZlbHNlKFRfU0laRSA9PSAwLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJObyBUdW1vciIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWZlbHNlKFRfU0laRSA+IDAgJiBUX1NJWkUgPCAxMCB8IFRfU0laRSA9PSA5OTEsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICI8IDEgY20iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZmVsc2UoVF9TSVpFID49IDEwICYgVF9TSVpFIDwgMjAgfCBUX1NJWkUgPT0gOTkyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIjEtMiBjbSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZmVsc2UoVF9TSVpFID49IDIwICYgVF9TSVpFIDwgMzAgfCBUX1NJWkUgPT0gOTkzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIyLTMgY20iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmZWxzZShUX1NJWkUgPj0gMzAgJiBUX1NJWkUgPCA0MCB8IFRfU0laRSA9PSA5OTQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIzLTQgY20iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZmVsc2UoVF9TSVpFID49IDQwICYgVF9TSVpFIDwgNTAgfCBUX1NJWkUgPT0gOTk1LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIjQtNSBjbSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZmVsc2UoVF9TSVpFID49IDUwICYgVF9TSVpFIDwgNjAgfCBUX1NJWkUgPT0gOTk2LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICI1LTYgY20iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmZWxzZShUX1NJWkUgPj0gNjAgJiBUX1NJWkUgPD0gOTg3IHwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUX1NJWkUgPT0gOTgwIHwgVF9TSVpFID09IDk4OSB8CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVF9TSVpFID09IDk5NywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiPjYgY20iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmZWxzZShUX1NJWkUgPT0gOTg4IHwgVF9TSVpFID09IDk5OSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIk5BX3VuayIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJNaWNyb3Njb3BpYyBmb2N1cyIpKSkpKSkpKSkpICU+JQogICAgICAgIG11dGF0ZShUX1NJWkUgPSBmYWN0b3IoVF9TSVpFKSkgJT4lCiAgICAgICAgbXV0YXRlKFRfU0laRSA9IGZjdF9yZWxldmVsKFRfU0laRSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJObyBUdW1vciIsICJNaWNyb3Njb3BpYyBmb2N1cyIsICI8IDEgY20iLCAiMS0yIGNtIiwgIjItMyBjbSIsICIzLTQgY20iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiNC01IGNtIiwgIjUtNiBjbSIsICI+NiBjbSIsICJOQV91bmsiKSkgJT4lCiAgICAgICAgbXV0YXRlKG1ldHNfYXRfZHggPSBjYXNlX3doZW4oQ1NfTUVUU19EWF9MVU5HID09ICIxIiB+ICJMdW5nIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDU19NRVRTX0RYX0JPTkUgPT0gIjEiIH4gIkJvbmUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENTX01FVFNfRFhfQlJBSU4gPT0gIjEiIH4gIkJyYWluIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDU19NRVRTX0RYX0xJVkVSID09ICIxIiB+ICJMaXZlciIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVFJVRSB+ICJOb25lL090aGVyL1Vuay9OQSIpKSAlPiUKICAgICAgICBtdXRhdGUoTUVESUNBSURfRVhQTl9DT0RFID0gZmN0X3JlY29kZShNRURJQ0FJRF9FWFBOX0NPREUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIk5vbi1FeHBhbnNpb24gU3RhdGUiID0gIjAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJKYW4gMjAxNCBFeHBhbnNpb24gU3RhdGVzIiA9ICIxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiRWFybHkgRXhwYW5zaW9uIFN0YXRlcyAoMjAxMC0xMykiID0gIjIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJMYXRlIEV4cGFuc2lvbiBTdGF0ZXMgKD4gSmFuIDIwMTQpIiA9ICIzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiU3VwcHJlc3NlZCBmb3IgQWdlcyAwIC0gMzkiID0gIjkiKSkgICU+JQogICAgICAgIG11dGF0ZShFWFBOX0dST1VQID0gIGNhc2Vfd2hlbihNRURJQ0FJRF9FWFBOX0NPREUgICVpbiUgYygiSmFuIDIwMTQgRXhwYW5zaW9uIFN0YXRlcyIpICYgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWUVBUl9PRl9ESUFHTk9TSVMgJWluJSBjKCIyMDE0IiwgIjIwMTUiKSB+ICJQb3N0LUV4cGFuc2lvbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNRURJQ0FJRF9FWFBOX0NPREUgICVpbiUgYygiSmFuIDIwMTQgRXhwYW5zaW9uIFN0YXRlcyIpICYgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWUVBUl9PRl9ESUFHTk9TSVMgJWluJSAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYygiMjAwNCIsICIyMDA1IiwgIjIwMDYiLCAiMjAwNyIsICIyMDA4IiwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIjIwMDkiLCAiMjAxMCIsICIyMDExIiwgIjIwMTIiLCAiMjAxMyIpIH4gIlByZS1FeHBhbnNpb24iLAogICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTUVESUNBSURfRVhQTl9DT0RFICAlaW4lIGMoIkVhcmx5IEV4cGFuc2lvbiBTdGF0ZXMgKDIwMTAtMTMpIikgJiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBZRUFSX09GX0RJQUdOT1NJUyAlaW4lIGMoIjIwMTAiLCAiMjAxMSIsICIyMDEyIiwgIjIwMTMiLCAiMjAxNCIsICIyMDE1IikgfiAiUG9zdC1FeHBhbnNpb24iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1FRElDQUlEX0VYUE5fQ09ERSAgJWluJSBjKCJFYXJseSBFeHBhbnNpb24gU3RhdGVzICgyMDEwLTEzKSIpICYgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWUVBUl9PRl9ESUFHTk9TSVMgJWluJSBjKCIyMDA0IiwgIjIwMDUiLCAiMjAwNiIsICIyMDA3IiwgIjIwMDgiLCAiMjAwOSIpIH4gIlByZS1FeHBhbnNpb24iLAoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTUVESUNBSURfRVhQTl9DT0RFICVpbiUgYygiTm9uLUV4cGFuc2lvbiBTdGF0ZSIpIH4gIlByZS1FeHBhbnNpb24iLAoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTUVESUNBSURfRVhQTl9DT0RFICVpbiUgYygiTGF0ZSBFeHBhbnNpb24gU3RhdGVzICg+IEphbiAyMDE0KSIpIH4gIlByZS1FeHBhbnNpb24iLAogICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNRURJQ0FJRF9FWFBOX0NPREUgJWluJSBjKCJMYXRlIEV4cGFuc2lvbiBTdGF0ZXMgKD4gSmFuIDIwMTQpIikgJiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFlFQVJfT0ZfRElBR05PU0lTICVpbiUgYygiMjAxNCIsICIyMDE1IikgfiAiRXhjbHVkZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNRURJQ0FJRF9FWFBOX0NPREUgPT0gIlN1cHByZXNzZWQgZm9yIEFnZXMgMCAtIDM5IiB+ICJFeGNsdWRlIikpICU+JQogIAogIG11dGF0ZShwcmVfMjAxNCA9IFlFQVJfT0ZfRElBR05PU0lTICVpbiUgYygiMjAwNCIsICIyMDA1IiwgIjIwMDYiLCAiMjAwNyIsICIyMDA4IiwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIjIwMDkiLCAiMjAxMCIsICIyMDExIiwgIjIwMTIiLCAiMjAxMyIpKSAlPiUKICAKICBtdXRhdGUobWV0c19hdF9keF9GID0gaWZlbHNlKG1ldHNfYXRfZHggPT0gIk5vbmUvT3RoZXIvVW5rL05BIiwgRkFMU0UsIFRSVUUpKSAlPiUgCiAgCiAgbXV0YXRlKFR4X1lOID0gaWZlbHNlKFNVUkdfUkFEX1NFUSA9PSAiTm8gVHJlYXRtZW50IiAmIENIRU1PX1lOID09ICJObyIsIEZBTFNFLCAKICAgICAgICAgICAgICAgICAgICAgICAgaWZlbHNlKENIRU1PX1lOID09ICJVa24iLCBOQSwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUUlVFKSkpCgpmYWN0X3ZhcnNfMiA8LSBjKCJGQUNJTElUWV9UWVBFX0YiLCAiRkFDSUxJVFlfTE9DQVRJT05fRiIsICJBR0VfRiIsICJTRVhfRiIsICJSQUNFX0YiLAogICAgICAgICAgICAgICAgICJISVNQQU5JQyIsICJJTlNVUkFOQ0VfRiIsICJJTkNPTUVfRiIsICJFRFVDQVRJT05fRiIsICJVX1JfRiIsCiAgICAgICAgICAgICAgICAgIkNEQ0NfVE9UQUxfQkVTVCIsICJDTEFTU19PRl9DQVNFX0YiLCAiWUVBUl9PRl9ESUFHTk9TSVMiLCAiUFJJTUFSWV9TSVRFIiwgIkhJU1RPTE9HWSIsCiAgICAgICAgICAgICAgICAgIkJFSEFWSU9SIiwgIkdSQURFX0YiLCAiVE5NX0NMSU5fVCIsICJUTk1fQ0xJTl9OIiwgIlROTV9DTElOX00iLAogICAgICAgICAgICAgICAgICJUTk1fQ0xJTl9TVEFHRV9HUk9VUCIsICJUTk1fUEFUSF9UIiwgIlROTV9QQVRIX04iLCAiVE5NX1BBVEhfTSIsICJUTk1fUEFUSF9TVEFHRV9HUk9VUCIsCiAgICAgICAgICAgICAgICAgIk1BUkdJTlMiLCAiUkVBRE1fSE9TUF8zMF9EQVlTX0YiLCAiUlhfU1VNTV9SQURJQVRJT05fRiIsICJQVUZfMzBfREFZX01PUlRfQ0RfRiIsCiAgICAgICAgICAgICAgICAgIlBVRl85MF9EQVlfTU9SVF9DRF9GIiwgIkxZTVBIX1ZBU0NVTEFSX0lOVkFTSU9OX0YiLCAiUlhfSE9TUF9TVVJHX0FQUFJfMjAxMF9GIiwgIm1ldHNfYXRfZHgiKQoKCmRhdCA8LSBkYXQgJT4lCiAgICAgICAgbXV0YXRlX2F0KGZhY3RfdmFyc18yLCBmdW5zKGZhY3RvciguKSkpCgpgYGAKCgojIEV4dHJhY3QgZGF0YSBvZiBpbnRlcmVzdCAKCmBgYHtyfQojIEVNUEQKc2l0ZV9jb2RlIDwtIGMoCiAgI2xpcCAgCiAgIkMwMDAiLCAiQzAwMSIsICJDMDAyIiwgIkMwMDMiLCAiQzAwNCIsICJDMDA1IiwiQzAwNiIsICJDMDA4IiwiQzAwOSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiNza2luL21lbGFub21hCiAgIkM0NDAiLCAiQzQ0MSIsICJDNDQyIiwgIkM0NDMiLCAiQzQ0NCIsICJDNDQ1IiwgIkM0NDYiLCAiQzQ0NyIsICJDNDQ4IiwgIkM0NDkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICNicmVhc3QgLSBuaXBwbGUKICAiQzUwMCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAojdmFnaW5hL3Z1bHZhCiAgIkM1MTAiLCAiQzUxMSIsICJDNTEyIiwgIkM1MTgiLCAiQzUxOSIsICJDNTI5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiNwZW5pcwogIkM2MDAiLCAiQzYwMSIsICJDNjAyIiwgIkM2MDgiLCAiQzYwOSIsICJDNjM5IikKCmhpc3RvX2NvZGUgPC0gYygiODU0MiIpCmJlaGF2aW9yX2NvZGUgPC0gYygiMyIpCgpkYXRhIDwtIGRhdCAlPiUKICAgICAgICBmaWx0ZXIoQkVIQVZJT1IgJWluJSBiZWhhdmlvcl9jb2RlKSAlPiUKICAgICAgICBmaWx0ZXIoUFJJTUFSWV9TSVRFICVpbiUgc2l0ZV9jb2RlKSAlPiUKICAgICAgICBmaWx0ZXIoSElTVE9MT0dZICVpbiUgaGlzdG9fY29kZSkgJT4lCiMgICAgICAgIGZpbHRlcihBR0UgPj0gMTgpICU+JQogICAgICAgIGZpbHRlcihpcy5uYShQVUZfVklUQUxfU1RBVFVTKSA9PSBGQUxTRSkgJT4lCiAgICAgICAgZmlsdGVyKGlzLm5hKERYX0xBU1RDT05UQUNUX0RFQVRIX01PTlRIUykgPT0gRkFMU0UpICU+JQogICAgICAgIGZpbHRlcihTRVFVRU5DRV9OVU1CRVIgPT0gIjAwIikgCiMlPiUKIyAgICAgICAgZmlsdGVyKENMQVNTX09GX0NBU0UgJWluJSBjKCIxMCIsICIxMiIsICIxNCIsICIyMiIpKSAlPiUKIyAgICAgICAgZmlsdGVyKElOU1VSQU5DRV9TVEFUVVMgJWluJSBjKCIwIiwgIjEiLCAiMiIsICIzIiwgIjQiKSkKCmZpbGVfcGF0aCA8LSBjKCIvVXNlcnMvYmVhc3RhdGxpZmUvR29vZ2xlIERyaXZlL1Blbm4vUmVzZWFyY2gvQmFyYmllcmkvTkNEQiIpCnNhdmUoZGF0YSwKICAgICAgZmlsZSA9IHBhc3RlMChmaWxlX3BhdGgsICIvRU1QRF9kYXRhLlJkYSIpKQpgYGAKCmBgYHtyIGxvYWREYXRhfQpsb2FkKCJFTVBEX2RhdGEuUmRhIikKYGBgCgoKCgpEYXRhIGluY2x1ZGluZyBza2luIHR1bW9ycyB3YXMgb2J0YWluZWQgZnJvbSB0aGUgTkNCRCBvbiBPY3RvYmVyIDcsIDIwMTkuIENhc2VzIHRoYXQgd2VyZSBpbmNsdWRlZCBpbiB0aGlzIGFuYWx5c2lzIHdlcmUgdGhvc2Ugd2l0aDoKCjEuIFNpdGUgY29kZXM6IGByIHNpdGVfY29kZWAKMi4gSGlzdG9sb2d5IGNvZGVzOiBgciBoaXN0b19jb2RlYAozLiBCZWhhdmlvciBjb2RlczogYHIgYmVoYXZpb3JfY29kZWAKCgpQYXRpZW50cyB3ZXJlIGV4Y2x1ZGVkIGlmIHRoZXkgZGlkbid0IGhhdmUgdmFsdWVzIGZvciBlaXRoZXIgZm9sbG93IHVwIG9yIHZpdGFsIHN0YXR1cy4KClBhdGllbnRzIHdlcmUgZXhjbHVkZWQgaWYgdGhleSBoYWQgc3VyZ2VyeSB0byBhIGRpc3RhbnQgc2l0ZSB1c2luZyBgUlhfU1VNTV9TVVJHX09USF9SRUdESVNgLiBUaGlzIHdhcyBkb25lIHRvIGF2b2lkIGNvbmZvdW5kaW5nIG9mIGRpZmZlcmVudCBzdXJnaWNhbCBwcm9jZWR1cmVzLiBXZSBhcmUgb25seSBpbnRlcmVzdGVkIGluIHN1cmdlcnkgYXQgdGhlIHByaW1hcnkgc2l0ZS4gVGhlc2UgZGlzdGFudCBzaXRlIHN1cmdlcmllcyB3ZXJlIGJlaW5nIGNvdW50ZWQgaW4gdGhlIHN1cmdlcnkvcmFkaWF0aW9uIHNlcXVlbmNlIGFuZCB0aHVzIHRvIHNpbXBsaWZ5IGFuYWx5c2lzIHRoZXkgd2VyZSByZW1vdmVkLiAKCmBgYHtyfQoKZGF0YSAlPiUKICAgICAgICBDcmVhdGVUYWJsZU9uZShkYXRhID0gLiwKICAgICAgICAgICAgICAgICAgICAgdmFycyA9IGMoIlJYX1NVTU1fU1VSR19PVEhfUkVHRElTIiksCiAgICAgICAgICAgICAgICAgICAgIGluY2x1ZGVOQSA9IFRSVUUpICU+JQogICAgICAgIHByaW50KC4sCiAgICAgICAgICAgICAgc2hvd0FsbExldmVscyA9IFRSVUUpCgpkYXRhIDwtIGRhdGEgJT4lCiAgICAgICAgZmlsdGVyKFJYX1NVTU1fU1VSR19PVEhfUkVHRElTID09ICIwIikgCmBgYAoKClJhY2Ugd2FzIGdyb3VwZWQgYXMgd2hpdGUsIGJsYWNrLCBhc2lhbiwgb3RoZXIvdW5rbm93bgpTdGFnZSB3YXMgZ3JvdXBlZCBpbnRvIDAsIEksIElJLCBJSUksIElWLCBOQV9Vbmtub3duLCBzdGFnZSAwIHdhcyByZW1vdmVkCldoZXRoZXIgc3VyZ2VyeSB3YXMgcGVyZm9ybWVkIHdhcyBiYXNlZCBvbiB0aGUgYFJFQVNPTl9GT1JfTk9fU1VSR0VSWWAgdmFyaWFibGUuIFRoZSBgU1VSR0VSWV9ZTmAgdmFyaWFibGUgd2FzIGNsYXNzaWZpZWQgYXMgJ1llcycsICdObycsIG9yICdVbmtub3duJy4KCgpXaGV0aGVyIHJhZGlhdGlvbiB3YXMgcGVyZm9ybWVkIHdhcyBiYXNlZCBvbiB0aGUgYFJFQVNPTl9GT1JfTk9fUkFESUFUSU9OYCB2YXJpYWJsZS4gVGhlIGBSQURJQVRJT05fWU5gIHZhcmlhYmxlIHdhcyBjbGFzc2lmaWVkIGFzICdZZXMnLCAnTm8nLCBvciAnVW5rbm93bicuCgoKCiMjVGFibGUgb2YgdmFyaWFibGVzIGZvciBhbGwgY2FzZXM6CgojVGFibGUgb2YgdmFyaWFibGVzIGZvciBhbGwgY2FzZXM6CgpgYGB7cn0KCnBfdGFibGUoZGF0YSwKICAgICAgICB2YXJzID0gYygiRkFDSUxJVFlfVFlQRV9GIiwgIkZBQ0lMSVRZX0xPQ0FUSU9OX0YiLCAiRkFDSUxJVFlfR0VPR1JBUEhZIiwgICJBR0UiLCAiQUdFX0YiLCAiQUdFXzQwIiwKICAgICAgICAgICAgICAgICAiU0VYX0YiLCAiUkFDRV9GIiwgIkhJU1BBTklDIiwgIklOU1VSQU5DRV9GIiwgCiAgICAgICAgICAgICAgICAgIklOQ09NRV9GIiwgIkVEVUNBVElPTl9GIiwgIlVfUl9GIiwgIkNST1dGTFkiLCAiQ0RDQ19UT1RBTF9CRVNUIiwKICAgICAgICAgICAgICAgICAiU0lURV9URVhUIiwgIkhJU1RPTE9HWV9GX0xJTSIsICJISVNUT0xPR1lfRiIsICJCRUhBVklPUiIsICJHUkFERV9GIiwKICAgICAgICAgICAgICAgICAiRFhfU1RBR0lOR19QUk9DX0RBWVMiLCAiVE5NX0NMSU5fVCIsICJUTk1fQ0xJTl9OIiwgIlROTV9DTElOX00iLAogICAgICAgICAgICAgICAgICJUTk1fQ0xJTl9TVEFHRV9HUk9VUCIsICJUTk1fUEFUSF9UIiwgIlROTV9QQVRIX04iLCAiVE5NX1BBVEhfTSIsCiAgICAgICAgICAgICAgICAgIlROTV9QQVRIX1NUQUdFX0dST1VQIiwgIkRYX1JYX1NUQVJURURfREFZUyIsICJEWF9TVVJHX1NUQVJURURfREFZUyIsCiAgICAgICAgICAgICAgICAgIkRYX0RFRlNVUkdfU1RBUlRFRF9EQVlTIiwgIk1BUkdJTlMiLCAiTUFSR0lOU19ZTiIsICJTVVJHX0RJU0NIQVJHRV9EQVlTIiwKICAgICAgICAgICAgICAgICAiUkVBRE1fSE9TUF8zMF9EQVlTX0YiLCAiUlhfU1VNTV9SQURJQVRJT05fRiIsICJQVUZfMzBfREFZX01PUlRfQ0RfRiIsCiAgICAgICAgICAgICAgICAgIlBVRl85MF9EQVlfTU9SVF9DRF9GIiwgIkRYX0xBU1RDT05UQUNUX0RFQVRIX01PTlRIUyIsIAogICAgICAgICAgICAgICAgICJMWU1QSF9WQVNDVUxBUl9JTlZBU0lPTl9GIiwgIlJYX0hPU1BfU1VSR19BUFBSXzIwMTBfRiIsICJTVVJHX1JBRF9TRVEiLAogICAgICAgICAgICAgICAgICJTVVJHX1JBRF9TRVFfQyIsICJTVVJHRVJZX1lOIiwgIlJBRElBVElPTl9ZTiIsICJDSEVNT19ZTiIsICJtZXRzX2F0X2R4IiwKICAgICAgICAgICAgICAgICAiTUVESUNBSURfRVhQTl9DT0RFIiwgIkVYUE5fR1JPVVAiLCAiU0lURV9URVhUIikpCgoKCnBfdGFibGUobm9fRXhjbHVkZXMsCiAgICAgICAgdmFycyA9IGMoIkZBQ0lMSVRZX1RZUEVfRiIsICJGQUNJTElUWV9MT0NBVElPTl9GIiwgIkZBQ0lMSVRZX0dFT0dSQVBIWSIsICAiQUdFIiwgIkFHRV9GIiwgIkFHRV80MCIsCiAgICAgICAgICAgICAgICAgIlNFWF9GIiwgIlJBQ0VfRiIsICJISVNQQU5JQyIsICJJTlNVUkFOQ0VfRiIsIAogICAgICAgICAgICAgICAgICJJTkNPTUVfRiIsICJFRFVDQVRJT05fRiIsICJVX1JfRiIsICJDUk9XRkxZIiwgIkNEQ0NfVE9UQUxfQkVTVCIsCiAgICAgICAgICAgICAgICAgIlNJVEVfVEVYVCIsICJISVNUT0xPR1lfRl9MSU0iLCAiSElTVE9MT0dZX0YiLCAiQkVIQVZJT1IiLCAiR1JBREVfRiIsCiAgICAgICAgICAgICAgICAgIkRYX1NUQUdJTkdfUFJPQ19EQVlTIiwgIlROTV9DTElOX1QiLCAiVE5NX0NMSU5fTiIsICJUTk1fQ0xJTl9NIiwKICAgICAgICAgICAgICAgICAiVE5NX0NMSU5fU1RBR0VfR1JPVVAiLCAiVE5NX1BBVEhfVCIsICJUTk1fUEFUSF9OIiwgIlROTV9QQVRIX00iLAogICAgICAgICAgICAgICAgICJUTk1fUEFUSF9TVEFHRV9HUk9VUCIsICJEWF9SWF9TVEFSVEVEX0RBWVMiLCAiRFhfU1VSR19TVEFSVEVEX0RBWVMiLAogICAgICAgICAgICAgICAgICJEWF9ERUZTVVJHX1NUQVJURURfREFZUyIsICJNQVJHSU5TIiwgIk1BUkdJTlNfWU4iLCAiU1VSR19ESVNDSEFSR0VfREFZUyIsCiAgICAgICAgICAgICAgICAgIlJFQURNX0hPU1BfMzBfREFZU19GIiwgIlJYX1NVTU1fUkFESUFUSU9OX0YiLCAiUFVGXzMwX0RBWV9NT1JUX0NEX0YiLAogICAgICAgICAgICAgICAgICJQVUZfOTBfREFZX01PUlRfQ0RfRiIsICJEWF9MQVNUQ09OVEFDVF9ERUFUSF9NT05USFMiLCAKICAgICAgICAgICAgICAgICAiTFlNUEhfVkFTQ1VMQVJfSU5WQVNJT05fRiIsICJSWF9IT1NQX1NVUkdfQVBQUl8yMDEwX0YiLCAiU1VSR19SQURfU0VRIiwKICAgICAgICAgICAgICAgICAiU1VSR19SQURfU0VRX0MiLCAiVF9TSVpFIiwgIlNVUkdFUllfWU4iLCAiUkFESUFUSU9OX1lOIiwgIkNIRU1PX1lOIiwgIm1ldHNfYXRfZHgiLAogICAgICAgICAgICAgICAgICJNRURJQ0FJRF9FWFBOX0NPREUiLCJTSVRFX1RFWFQiKSwgCiAgICAgICAgc3RyYXRhID0gIkVYUE5fR1JPVVAiKQoKCnBfdGFibGUoZGF0YSwKICAgICAgICB2YXJzID0gYygiWUVBUl9PRl9ESUFHTk9TSVMiKSwKICAgICAgICBzdHJhdGEgPSBjKCJNRURJQ0FJRF9FWFBOX0NPREUiKSkKYGBgCgoKCgpgYGB7cn0KCnByZUV4cE1lZGljYXJlICA8LSBucm93KGRhdGEgJT4lIGZpbHRlcihFWFBOX0dST1VQID09ICJQcmUtRXhwYW5zaW9uIiAmIElOU1VSQU5DRV9GID09ICJNZWRpY2FyZSIpKQpwb3N0RXhwTWVkaWNhcmUgPC0gbnJvdyhkYXRhICU+JSBmaWx0ZXIoRVhQTl9HUk9VUCA9PSAiUG9zdC1FeHBhbnNpb24iICYgSU5TVVJBTkNFX0YgPT0gIk1lZGljYXJlIikpCgojIHAgPSAwLjI1IHdoZW4gY29tcGFyaW5nIGNoYW5nZSBpbiBwcm9wb3J0aW9uIG9mIHBhdGllbnRzIHdpdGggTWVkaWNhcmUgYmVmb3JlIGFuZCBhZnRlciBBQ0EgZXhwYW5zaW9uCnByb3AudGVzdChjKHByZUV4cE1lZGljYXJlLCBwb3N0RXhwTWVkaWNhcmUpLCAKICAgICAgICAgIGMobnJvdyhkYXRhICU+JSBmaWx0ZXIoRVhQTl9HUk9VUCA9PSAiUHJlLUV4cGFuc2lvbiIpKSwgbnJvdyhkYXRhICU+JSBmaWx0ZXIoRVhQTl9HUk9VUCA9PSAiUG9zdC1FeHBhbnNpb24iKSkpKQoKcHJlRXhwTm9JbnN1cmFuY2UgPC0gbnJvdyhkYXRhICU+JSBmaWx0ZXIoRVhQTl9HUk9VUCA9PSAiUHJlLUV4cGFuc2lvbiIpICU+JSAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbHRlcihJTlNVUkFOQ0VfRiA9PSAiTm9uZSIpKQpwb3N0RXhwTm9JbnN1cmFuY2UgPC0gbnJvdyhkYXRhICU+JSBmaWx0ZXIoRVhQTl9HUk9VUCA9PSAiUG9zdC1FeHBhbnNpb24iKSAlPiUgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsdGVyKElOU1VSQU5DRV9GID09ICJOb25lIikpCgojIFNpZ25pZmljYW50IGRlY3JlYXNlIGluIHRoZSBvdmVyYWxsIHByb3BvcnRpb24gb2YgcGF0aWVudHMgd2l0aG91dCBpbnN1cmFuY2UgYWZ0ZXIgQUNBIGV4cGFuc2lvbiAKcHJvcC50ZXN0KGMocHJlRXhwTm9JbnN1cmFuY2UsIHBvc3RFeHBOb0luc3VyYW5jZSksIAogICAgICAgICAgYyhucm93KGRhdGEgJT4lIGZpbHRlcihFWFBOX0dST1VQID09ICJQcmUtRXhwYW5zaW9uIikpLCBucm93KGRhdGEgJT4lIGZpbHRlcihFWFBOX0dST1VQID09ICJQb3N0LUV4cGFuc2lvbiIpKSkpCgpwX3RhYmxlKG5vX0V4Y2x1ZGVzLCBzdHJhdGEgPSAiRVhQTl9HUk9VUCIsIHZhcnMgPSAiRFhfUlhfU1RBUlRFRF9EQVlTIikKCmRhdGEgPC0gZGF0YSAlPiUgbXV0YXRlKEluc3VyZWQgPSBJTlNVUkFOQ0VfRiAhPSAiVW5rbm93biIpCgpgYGAKCgoKCiNLYXBsYW4gTWVpZXIgQW5hbHlzaXMKCgojI0FsbAoKYGBge3J9CnVuaV92YXIodGVzdF92YXIgPSAiQWxsIiwgZGF0YV9pbXAgPSBkYXRhKQpgYGAKCiMjRmFjaWxpdHkgVHlwZQpgYGB7cn0KdW5pX3Zhcih0ZXN0X3ZhciA9ICJGQUNJTElUWV9UWVBFX0YiLCBkYXRhX2ltcCA9IGRhdGEpCmBgYAoKIyNGYWNpbGl0eSBMb2NhdGlvbgoKYGBge3J9CnVuaV92YXIodGVzdF92YXIgPSAiRkFDSUxJVFlfTE9DQVRJT05fRiIsIGRhdGFfaW1wID0gZGF0YSkKYGBgCgojI0ZhY2lsaXR5IEdlb2dyYXBoeQoKYGBge3J9CnVuaV92YXIodGVzdF92YXIgPSAiRkFDSUxJVFlfR0VPR1JBUEhZIiwgZGF0YV9pbXAgPSBkYXRhKQpgYGAKCiMjQWdlIEdyb3VwCgpgYGB7cn0KdW5pX3Zhcih0ZXN0X3ZhciA9ICJBR0VfRiIsIGRhdGFfaW1wID0gZGF0YSkKYGBgCgojI0FnZSBHcm91cApgYGB7cn0KdW5pX3Zhcih0ZXN0X3ZhciA9ICJBR0VfNDAiLCBkYXRhX2ltcCA9IGRhdGEpCmBgYAoKIyNHZW5kZXIKCmBgYHtyfQp1bmlfdmFyKHRlc3RfdmFyID0gIlNFWF9GIiwgZGF0YV9pbXAgPSBkYXRhKQpgYGAKCiMjUkFDRV9GCgpgYGB7cn0KdW5pX3Zhcih0ZXN0X3ZhciA9ICJSQUNFX0YiLCBkYXRhX2ltcCA9IGRhdGEpCmBgYAoKIyNIaXNwYW5pYwoKYGBge3J9CnVuaV92YXIodGVzdF92YXIgPSAiSElTUEFOSUMiLCBkYXRhX2ltcCA9IGRhdGEpCmBgYAoKIyNJbnN1cmFuY2UgU3RhdHVzCgpgYGB7cn0KdW5pX3Zhcih0ZXN0X3ZhciA9ICJJTlNVUkFOQ0VfRiIsIGRhdGFfaW1wID0gZGF0YSkKYGBgCgojI092ZXJhbGwgU3Vydml2YWwgcHJlL3Bvc3QtQUNBIGV4cGFuc2lvbgoKYGBge3J9CnVuaV92YXIodGVzdF92YXIgPSAiRVhQTl9HUk9VUCIsIGRhdGFfaW1wID0gbm9fRXhjbHVkZXMpCmBgYAoKCjwhLS0gIyNJbmNvbWUgLS0+Cgo8IS0tIGBgYHtyfSAtLT4KPCEtLSBjbGFzcyhkYXRhJElOQ09NRV9GKSAtLT4KPCEtLSB1bmlfdmFyKHRlc3RfdmFyID0gIklOQ09NRV9GIiwgZGF0YV9pbXAgPSBkYXRhKSAtLT4KPCEtLSBgYGAgLS0+CgojI0VkdWNhdGlvbgoKYGBge3J9CnVuaV92YXIodGVzdF92YXIgPSAiRURVQ0FUSU9OX0YiLCBkYXRhX2ltcCA9IGRhdGEpCmBgYAoKIyNVcmJhbi9SdXJhbAoKYGBge3J9CnVuaV92YXIodGVzdF92YXIgPSAiVV9SX0YiLCBkYXRhX2ltcCA9IGRhdGEpCmBgYAoKIyNDbGFzcyAodHJlYXRtZW50IGF0IHBlcmZvcm1pbmcgZmFjaWxpdHkpCgpgYGB7cn0KdW5pX3Zhcih0ZXN0X3ZhciA9ICJDTEFTU19PRl9DQVNFX0YiLCBkYXRhX2ltcCA9IGRhdGEpCmBgYAoKIyNZZWFyCgpgYGB7cn0KdW5pX3Zhcih0ZXN0X3ZhciA9ICJZRUFSX09GX0RJQUdOT1NJUyIsIGRhdGFfaW1wID0gZGF0YSkKYGBgCgojI1ByaW1hcnkgU2l0ZQoKYGBge3J9CnVuaV92YXIodGVzdF92YXIgPSAiU0lURV9URVhUIiwgZGF0YV9pbXAgPSBkYXRhKQpgYGAKCgojI0hpc3RvbG9neQoKYGBge3J9CiN1bmlfdmFyKHRlc3RfdmFyID0gIkhJU1RPTE9HWV9GX0xJTSIsIGRhdGFfaW1wID0gZGF0YSkKYGBgCgo8IS0tICMjQmVoYXZpb3IgLS0+Cgo8IS0tIGBgYHtyfSAtLT4KPCEtLSB1bmlfdmFyKHRlc3RfdmFyID0gIkJFSEFWSU9SIiwgZGF0YV9pbXAgPSBkYXRhKSAtLT4KPCEtLSBgYGAgLS0+CgojI0dyYWRlCgpgYGB7cn0KdW5pX3Zhcih0ZXN0X3ZhciA9ICJHUkFERV9GIiwgZGF0YV9pbXAgPSBkYXRhKQpgYGAKCiMjQ2xpbmljYWwgVCBTdGFnZQoKYGBge3J9CiN1bmlfdmFyKHRlc3RfdmFyID0gIlROTV9DTElOX1QiLCBkYXRhX2ltcCA9IGRhdGEpCmBgYAoKIyNDbGluaWNhbCBOIFN0YWdlCgpgYGB7cn0KI3VuaV92YXIodGVzdF92YXIgPSAiVE5NX0NMSU5fTiIsIGRhdGFfaW1wID0gZGF0YSkKYGBgCgojI0NsaW5pY2FsIE0gU3RhZ2UKCmBgYHtyfQojdW5pX3Zhcih0ZXN0X3ZhciA9ICJUTk1fQ0xJTl9NIiwgZGF0YV9pbXAgPSBkYXRhKQpgYGAKCiMjQ2xpbmljYWwgU3RhZ2UgR3JvdXAKCmBgYHtyfQp1bmlfdmFyKHRlc3RfdmFyID0gIlROTV9DTElOX1NUQUdFX0dST1VQIiwgZGF0YV9pbXAgPSBkYXRhKQpgYGAKCiMjUGF0aG9sb2dpYyBUIFN0YWdlCgpgYGB7cn0KI3VuaV92YXIodGVzdF92YXIgPSAiVE5NX1BBVEhfVCIsIGRhdGFfaW1wID0gZGF0YSkKYGBgCgojI1BhdGhvbG9naWMgTiBTdGFnZQoKYGBge3J9CiN1bmlfdmFyKHRlc3RfdmFyID0gIlROTV9QQVRIX04iLCBkYXRhX2ltcCA9IGRhdGEpCmBgYAoKIyNQYXRob2xvZ2ljIE0gU3RhZ2UKCmBgYHtyfQojdW5pX3Zhcih0ZXN0X3ZhciA9ICJUTk1fUEFUSF9NIiwgZGF0YV9pbXAgPSBkYXRhKQpgYGAKCiMjUGF0aG9sb2dpYyBTdGFnZSBHcm91cAoKYGBge3J9CnVuaV92YXIodGVzdF92YXIgPSAiVE5NX1BBVEhfU1RBR0VfR1JPVVAiLCBkYXRhX2ltcCA9IGRhdGEpCmBgYAoKIyNNYXJnaW5zCmBgYHtyfQp1bmlfdmFyKHRlc3RfdmFyID0gIk1BUkdJTlMiLCBkYXRhX2ltcCA9IGRhdGEpCmBgYAoKIyNNYXJnaW5zIFllcy9ObwpgYGB7cn0KI3VuaV92YXIodGVzdF92YXIgPSAiTUFSR0lOU19ZTiIsIGRhdGFfaW1wID0gZGF0YSkKYGBgCgojIzMwIERheSBSZWFkbWlzc2lvbgoKYGBge3J9CnVuaV92YXIodGVzdF92YXIgPSAiUkVBRE1fSE9TUF8zMF9EQVlTX0YiLCBkYXRhX2ltcCA9IGRhdGEpCmBgYAoKIyNSYWRpYXRpb24gVHlwZQoKYGBge3J9CnVuaV92YXIodGVzdF92YXIgPSAiUlhfU1VNTV9SQURJQVRJT05fRiIsIGRhdGFfaW1wID0gZGF0YSkKYGBgCgoKIyNMeW1waG92YXNjdWxhciBJbnZhc2lvbgoKYGBge3J9CnVuaV92YXIodGVzdF92YXIgPSAiTFlNUEhfVkFTQ1VMQVJfSU5WQVNJT05fRiIsIGRhdGFfaW1wID0gZGF0YSkKYGBgCgojI0VuZG9zY29waWMvUm9ib3RpYwoKYGBge3J9CnVuaV92YXIodGVzdF92YXIgPSAiUlhfSE9TUF9TVVJHX0FQUFJfMjAxMF9GIiwgZGF0YV9pbXAgPSBkYXRhKQpgYGAKCiMjU3VyZ2VyeSBSYWRpYXRpb24gU2VxdWVuY2UgCgpgYGB7cn0KdW5pX3Zhcih0ZXN0X3ZhciA9ICJTVVJHX1JBRF9TRVEiLCBkYXRhX2ltcCA9IGRhdGEpCmBgYAoKIyNTdXJnZXJ5IFllcy9ObwoKYGBge3J9CnVuaV92YXIodGVzdF92YXIgPSAiU1VSR0VSWV9ZTiIsIGRhdGFfaW1wID0gZGF0YSkKYGBgCgojI1JhZGlhdGlvbiBZZXMvTm8KCmBgYHtyfQp1bmlfdmFyKHRlc3RfdmFyID0gIlJBRElBVElPTl9ZTiIsIGRhdGFfaW1wID0gZGF0YSkKYGBgCgojI0NoZW1vIFllcy9ObwoKYGBge3J9CnVuaV92YXIodGVzdF92YXIgPSAiQ0hFTU9fWU4iLCBkYXRhX2ltcCA9IGRhdGEpCmBgYAoKCiMjVHJlYXRtZW50IFllcy9ObwpgYGB7cn0KdW5pX3Zhcih0ZXN0X3ZhciA9ICJUeF9ZTiIsIGRhdGFfaW1wID0gZGF0YSkKYGBgCgojI01ldGFzdGFzZXMgYXQgRHgKYGBge3J9CnVuaV92YXIodGVzdF92YXIgPSAibWV0c19hdF9keF9GIiwgZGF0YV9pbXAgPSBkYXRhKQpgYGAKCjwhLS0gIyNUdW1vciBTaXplIC0tPgoKPCEtLSBgYGB7cn0gLS0+CjwhLS0gdW5pX3Zhcih0ZXN0X3ZhciA9ICJUX1NJWkUiLCBkYXRhX2ltcCA9IGRhdGEpIC0tPgo8IS0tIGBgYCAtLT4KCiNUdW1vciBzcGVjaWZpYyBWYXJpYWJsZXMKCgojIyNOb2RlIFNpemUKCgojQ294IFByb3BvcnRpb25hbCBIYXphcmQgUmF0aW8KCiMjTW9kZWwgIzEKCiMjI0Z1bGwgYW5hbHlzaXMKCmBgYHtyfQptb2RlbF9vbmUgPC0gY294cGgoU3VydihEWF9MQVNUQ09OVEFDVF9ERUFUSF9NT05USFMsIFBVRl9WSVRBTF9TVEFUVVMgPT0gMCkKICAgICAgICAgICAgICAgICAgICAgfiBTVVJHX1JBRF9TRVEgKyBJTlNVUkFOQ0VfRiArIEFHRSArIFNFWF9GICsgUkFDRV9GICsgSU5DT01FX0YgKyBVX1JfRiArCiAgICAgICAgICAgICAgICAgICAgICBGQUNJTElUWV9UWVBFX0YgKyBGQUNJTElUWV9MT0NBVElPTl9GICsgRURVQ0FUSU9OX0YsCiAgICAgICAgICAgICAgICAgICAgIGRhdGEgPSBkYXRhKQptb2RlbF9vbmUgJT4lIHN1bW1hcnkoKQoKCmBgYAoKIyMjU3VtbWFyeSBvZiBNb2RlbAoKYGBge3J9Cm1vZGVsX29uZSAlPiUKICAgICAgICB0aWR5KC4sIGV4cG9uZW50aWF0ZSA9IFRSVUUpICU+JQogICAgICAgIHNlbGVjdCh0ZXJtLCBlc3RpbWF0ZSwgY29uZi5sb3csIGNvbmYuaGlnaCwgcC52YWx1ZSkgJT4lCiAgICAgICAgcmVuYW1lKFZhcmlhYmxlID0gdGVybSwKICAgICAgICAgICAgICAgSGF6YXJkX1JhdGlvID0gZXN0aW1hdGUpICU+JQogICAgICAgIHRibF9kZiAlPiUKICAgICAgICBwcmludChuID0gbnJvdyguKSkKCmBgYAoKIyBQcmVkaWN0aW9uIExvZ2lzdGljIFJlZ3Jlc3Npb24gTW9kZWxzCgojIyBTdXJnZXJ5CmBgYHtyfQoKbm9fVWtucyA8LSBkYXRhICU+JQogIGZpbHRlcihTVVJHRVJZX1lOICE9ICJVa24iKSAlPiUgCiAgZHJvcGxldmVscygpICU+JSAKICBtdXRhdGUoU1VSR0VSWV9ZTiA9IGFzLmxvZ2ljYWwoU1VSR0VSWV9ZTikpCgpmaXRfc3VyZyA8LSBnbG0oU1VSR19URiB+IEFHRV9GICsgU0VYX0YgKyBSQUNFX0YgKyBJTkNPTUVfRiArIFVfUl9GICsKICAgICAgICAgICAgICAgICAgICAgIEZBQ0lMSVRZX1RZUEVfRiArIEZBQ0lMSVRZX0xPQ0FUSU9OX0YgKyBFRFVDQVRJT05fRiArIEVYUE5fR1JPVVAsCiAgIGRhdGEgPSBub19Va25zKQoKc3VtbWFyeShmaXRfc3VyZykKCmV4cChjYmluZCgiT2RkcyByYXRpbyIgPSBjb2VmKGZpdF9zdXJnKSwgY29uZmludC5kZWZhdWx0KGZpdF9zdXJnLCBsZXZlbCA9IDAuOTUpKSkKYGBgCgojIyBNZXRhc3Rhc2lzIGF0IFRpbWUgb2YgRGlhZ25vc2lzCmBgYHtyfQojIGxpbWl0IHRvIHRob3NlIGNhc2VzIHdoZXJlIGRhdGEgYWJvdXQgZXhwYW5zaW9uIHN0YXR1cyBpcyBhdmFpbGFibGUgKD4gQWdlIDM5LCBub24tYW1iaWd1b3VzIHN0YXR1cyBzdGF0ZXMpCgpmaXRfbWV0cyA8LSBnbG0obWV0c19hdF9keF9GIH4gQUdFX0YgKyBTRVhfRiArIFJBQ0VfRiArIElOQ09NRV9GICsgVV9SX0YgKwogICAgICAgICAgICAgICAgICAgICAgRkFDSUxJVFlfVFlQRV9GICsgRkFDSUxJVFlfTE9DQVRJT05fRiArIEVEVUNBVElPTl9GICsgRVhQTl9HUk9VUCwKICAgZGF0YSA9IG5vX0V4Y2x1ZGVzKQoKc3VtbWFyeShmaXRfbWV0cykKCmV4cChjYmluZCgiT2RkcyByYXRpbyIgPSBjb2VmKGZpdF9tZXRzKSwgY29uZmludC5kZWZhdWx0KGZpdF9zdXJnLCBsZXZlbCA9IDAuOTUpKSkKYGBgCgoK